ম্যাজেন্টো অবস্থানের ভিত্তিতে উপযুক্ত স্থানীয়করণ প্রদর্শন করছে


17

আমি ব্যবহারকারীদের ডিফল্ট ভাষা এবং অবস্থান সনাক্ত করতে এবং সেই ভাষাতে এবং উপযুক্ত স্থানীয়করণের সাথে সাইটটি প্রদর্শন করতে সক্ষম হতে ম্যাগেন্তো সাইটটি কনফিগার করতে চাই।

উদাহরণ স্বরূপ:

ডিফল্ট হিসাবে রাশিয়ান ভাষার ব্যবহারকারী রাশিয়ার একজন ব্যবহারকারী রুবেল ভাষার ডিফল্ট মুদ্রা এবং মূল্য হিসাবে সরাসরি রাশিয়ান ভাষার ওয়েবসাইটে যাবে।

এটা কি সম্ভব? যদি তাই হয়, কিভাবে?

উত্তর:


14

জিওআইপি এবং স্টোর দর্শনগুলি আপনাকে এই সমস্যাটি সমাধান করতে সহায়তা করবে।

জিওআইপি আপনি আপনার জিওআইপি ডাটাবেসের জন্য ম্যাক্সমাইন্ডের মতো সরবরাহকারী ব্যবহার করতে পারেন (বা এটি একটি ওয়েব সার্ভার মডিউল হিসাবে লোড করুন যা দেশকে শিরোনামে যুক্ত করে)।

আইপি ঠিকানার ভিত্তিতে আপনি গ্রাহককে যথাযথ স্টোর ভিউতে পুনর্নির্দেশ করতে পারেন (স্টোর ভিউ সুইচের দ্বারা উত্পন্ন লিঙ্কটি পরীক্ষা করুন check

স্টোর দর্শন

রাশিয়ান একটি স্টোর ভিউ হওয়া উচিত। আপনার গ্রাহকদের জন্য আপনার প্রয়োজনীয় লিঙ্কটি কী তা দেখতে স্টোর ভিউ সুইচারটি পরীক্ষা করুন।

পুনঃনির্দেশের পরে আপনি গ্রাহককে স্টোর দৃশ্যের সাথে সংযুক্ত করতে কুকি সেট করতে পারেন।


আমরা আমাদের ফ্রি শিপিং বার্তার মতো জিনিসগুলি পরিবর্তন করতে সাইটে কয়েকটি ব্লক পরিবর্তন করতে জিওআইপি ব্যবহার করেছি
অ্যাডাম জাস্টিস

1
এই বিষয়টিতে নজর রাখার জন্য 3 টি জিনিস: (1) দর্শনার্থী যদি অন্য কোনও দেশে প্রক্সি ব্যবহার করেন বা আইপিটি মিলে না যায় তবে তিনি নিজে অন্য কোনও ওয়েবসাইটে স্যুইচ করতে চাইতে পারেন। এটা সম্ভব করুন। (২) স্থানীয়করণ এবং অনুবাদের মধ্যে পার্থক্য করুন। উদাহরণস্বরূপ স্থানীয়করণের জন্য জিওআইপি ব্যবহার এবং অনুবাদগুলির জন্য ভাষা গ্রহণযোগ্যতা শিরোনাম (রাশিয়ান / ইংরেজি ভাষার সাথে রাশিয়ান ওয়েবসাইট, জার্মান / ইতালিয়ান / ফ্রেঞ্চ ভাষার সাথে সুইস ওয়েবসাইট)। দেখুন নিচের উত্তর । (3) রাশিয়ার জন্য যদি আপনার আলাদা মূল্য (বা একটি ভিন্ন বেস মুদ্রা) থাকে তবে এর জন্য একটি উত্সর্গীকৃত ওয়েবসাইট তৈরি করুন।
ম্যাথিয়াস জেইস 23'13

9

একটি ম্যাজেন্টো জিওআইপি এক্সটেনশন রয়েছে (আমার লেখা) যা সর্বশেষতম ম্যাক্সমাইন্ড ডেটা ফাইল ডাউনলোড করে এবং পর্যায়ক্রমে আপডেট করে।

আমি controller_front_init_beforeইভেন্ট মধ্যে hooking পরামর্শ । আপনি নীচের কোডটি ব্যবহারকারীর দেশের আইএসও 3166-1 কোড পাওয়ার জন্য পরীক্ষা করতে পারেন এবং তারপরে যদি আপনার কোনও থাকে তবে তাকে কোরস্পেন্ডেন্ট স্টোর ভিউতে পুনঃনির্দেশ করুন:

$geoIP = Mage::getSingleton('geoip/country');
$code = $geoIP->getCountry();

/*
 * Check if store view for this country/language exists and it is not a current store view. 
 * If so do a redirect.
 * You can also take a language from user agent into consideration.
 */

এই এক্সটেনশনটি ব্যবহার সম্পর্কে বিস্তারিত নিবন্ধটি এখানে পাওয়া যাবে


5

আপনি যদি প্রোগ্রাম করতে পারেন তবে http://www.thefutureoftheweb.com/blog/use-accept-language-header এ একবার দেখুন । আপনি index.phpভাষার জন্য উপযুক্ত স্টোরভিউ লোডিংয়ে একটি স্যুইচ করতে পারেন ।


ভাষা হ্যাঁ, তবে বিষয়টি কেবল ভাষা নয়, ভৌগলিক অবস্থানও।
কার্লসন

আপনি স্যুইচটি তৈরি করতে ম্যাক্সমাইন্ড জিও এপিআই বা অন্য কোনও ফ্রি জিও পরিষেবা ব্যবহার করতে পারেন। আমি তাদের উচ্চতর নির্ভুলতার কারণে ম্যাক্সিমাইন্ড ব্যবহার করি ( ম্যাক্সমাইন্ড / এএন / জিওলোকেশন_ল্যান্ডিং )
স্যান্ডার

ব্যবহারকারী বর্তমানে রাশিয়ায় থাকলে, তবে তার ভাষা এন-ইউএস থাকলে আপনি কী করতে চান? স্বীকৃতি-ভাষার চেয়ে অবস্থান প্রায়শই কম তথ্যমূলক (এবং নির্ভুল) থাকে।
কোজিরো

@ কোজিরো আমি প্রথমে http গ্রহণের জন্য ভাষা গ্রহণ করতে চাই। আপনি ঠিক বলেছেন, কিছু লোকের ভাষা সম্পর্কে লোকেশন খুব কম বলে
স্যান্ডার ম্যানগেল

1
সাবধানতা অবলম্বন করুন, একাকী লিঙ্কটি একটি দুর্বল উত্তর হিসাবে বিবেচিত হয় কারণ এটি নিজেই অর্থহীন এবং লক্ষ্য সংস্থান ভবিষ্যতে জীবিত থাকার নিশ্চয়তা দেয় না । উত্তরের প্রয়োজনীয় অংশগুলি এখানে অন্তর্ভুক্ত করা ভাল , এবং রেফারেন্সের জন্য লিঙ্কটি সরবরাহ করা ভাল।
j0k

5

আরেকটি বিষয় লক্ষ্যণীয় হ'ল জিও আইপি।

কয়েক লাইনের কোড আপনাকে ব্যবহারকারীদের দেশ কোড দেবে, যা আপনি তার ভিত্তিতে স্যুইচ করতে পারেন।

তবে মনে রাখবেন যে আপনি যদি প্রথম পৃষ্ঠার হিট ক্যাশে হবার সাথে সাথে এন্টারপ্রাইজ সংস্করণ এবং পূর্ণ পৃষ্ঠা ক্যাশে একই স্টোরটি ব্যবহার করেন তবে আপনার কোনও পুনঃনির্দেশ ভিত্তিক কোড ব্যবহার করে সমস্যা হবে ।


ক্যাশে সম্পর্কে ভাল পয়েন্ট। Vary: Accept-Languageব্রাউজার এবং এফপিসি উভয়ের জন্য শিরোনাম কীভাবে করবেন তা আপনাকে খুঁজে বের করতে হবে ।
কোজিরো

এফপিসি সম্পর্কিত আপনার সর্বশেষ নোট সম্পর্কে কিছু বিশদ যুক্ত করার জন্য যত্নশীল? আমি কৌতূহল বোধ করছি, কমপক্ষে বলতে চাই।
নেভিভারমাইন্ড

একটি মডিউল ব্যবহার করে আমার একটি সমস্যা হয়েছিল যা জিও আইপি ব্যবহার করে এবং দেশের কোডের উপর ভিত্তি করে ব্যবহারকারীকে সঠিক দোকানে পুনঃনির্দেশ করে। এটি ব্যর্থ হয়েছিল এবং ডিবাগিংয়ের পরে, যখন এফপিসি ব্যবহার করে পৃষ্ঠাটি ক্যাশে করা হয় তখন পর্যবেক্ষককে কখনই ডাকা হত না, কেবলমাত্র একজন পর্যবেক্ষককে ডাকা হত, কারণ এফপিসি পূর্ণ স্ক্রিপ্টটি কোনও ম্যাজেন্টো কোড না চালিয়ে ক্যাশে করেছিল।
জ্যামি তেওমা

আমি জানি যে অন্য একজন বিকাশকারী সূচকের মধ্যে একটি স্ক্রিপ্ট তৈরি করছিল চারপাশের কাজ হিসাবে। Php, তবে নিশ্চিত না যে এটি সফল হয়েছে কি না, তাই আপনি মন্তব্য করতে পারবেন না !!
জেমি তেওমা

4

আরেকটি বিকল্প হ'ল পিএইচপি'র অটো_প্লেপ কনফিগারেশন ব্যবহার করা। এটি প্রকৃত অনুরোধকৃত স্ক্রিপ্টটি চালুর আগে স্ক্রিপ্টটি পিএইচপি দ্বারা পরিচালিত সমস্ত স্ক্রিপ্টগুলির কারণ হতে পারে , তবে .htaccess এর পরে (আপনি যদি এটি ব্যবহার করছেন)।

এই প্রস্তাবটি অন্যান্য কয়েকটি পরামর্শের সাথে মিলিত হয়েছে (যেমন ভূ-অবস্থানের ডেটার জন্য ম্যাক্সমাইন্ড ব্যবহার এবং নির্দিষ্ট অঞ্চলের জন্য স্টোর দর্শন) এর পরিবর্তে পরিষ্কার পদ্ধতির ফলস্বরূপ হতে পারে।

আপনি যদি Magento> = 1.4 এর একটি সংস্করণ চালাচ্ছেন তবে ডিফল্ট স্টোর কোডটি $ _SERVER ['MAGE_RUN_CODE'] মান সেট করে কনফিগার করা যেতে পারে।

.Htaccess ফাইল বা অ্যাপাচের কনফিগারেশনটিতে নিম্নলিখিতটি যুক্ত করুন:

php_value auto_prepend_file /var/www/mystore/path/to/script.php

আপনার script.phpকোনও প্রয়োজনীয় ব্যবসায়ের যুক্তি সম্পাদন করুন এবং উপযুক্ত স্টোর কোড সেট করুন:

<?php
if (get_ip_location($_SERVER['REMOTE_ADDR']) == 'uk') {
    $_SERVER['MAGE_RUN_CODE'] = 'store_code_uk';
} else {
    $_SERVER['MAGE_RUN_CODE'] = 'store_code_us';
}

একটি বিষয় লক্ষণীয় হ'ল এটি অনুরোধ করা সমস্ত পিএইচপি ফাইলের জন্য প্রযোজ্য , সুতরাং আপনার তা মনে রাখা দরকার।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.