সাবফোল্ডারে বিভিন্ন স্টোরভিউ বা ওয়েবসাইট


29

একজন ক্লায়েন্ট চান তার মাল্টিস্টোরের দোকানটি এভাবে স্থাপন করা হোক:

এটি একটি উদাহরণ তবে আরও অনেক আলাদা সাবফোল্ডার থাকতে পারে। বিভিন্ন স্টোর ভিউ / ওয়েবসাইটগুলির জন্য বিভিন্ন সাবফোল্ডার হ্যান্ডেল করার জন্য সর্বোত্তম পন্থা কোনটি?

আমি জানি যে এক সমাধান সাবফোল্ডার নামক তৈরি করা de, enইত্যাদি এবং সংশ্লিষ্ট সাবফোল্ডার মধ্যে index.php এবং .htaccess কপি করুন।

ফাইলের সদৃশতা কমাতে কিছু workaround (index.php, vHost কনফিগারেশনের পরিবর্তে symlinks) থাকতে পারে তবে আমি এমন একটি সমাধান খুঁজে পেতে চাই যেখানে আমাকে ফাইল সিস্টেমে কোনও পরিবর্তন করতে হবে না তবে কেবল কনফিগারেশন দ্বারা সবকিছু পরিচালনা করুন।


হালনাগাদ

আমরা এন্টারপ্রাইজ সহায়তা দিয়ে যাচাই করেছি যে এটি করার সর্বোত্তম উপায় হল সাবফোল্ডার তৈরি করা।

আমরা এটি এর মতো করে শেষ করেছি:

  • একটি "ভাষা ফোল্ডার" ডিরেক্টরি তৈরি করুন
  • অ্যাডজাস্টেড .htaccess এবং ম্যাজেন্টো ফোল্ডারগুলিতে (অ্যাপ্লিকেশন /, ত্রুটিগুলি /, ...) সিমলিংক সহ ডিরেক্টরিতে সূচক.পিএফপি একটি অনুলিপি তৈরি করেছেন
  • "ভাষা ফোল্ডার" ডিরেক্টরিকে নির্দেশ করে ম্যাজেন্টো মূল ডিরেক্টরিতে "দে", "এন" ইত্যাদি সিমলিংক তৈরি করা হয়েছে

এইভাবে আমরা একটি নতুন সিমলিংক তৈরি করে একটি নতুন ভাষা যুক্ত করতে পারি (যেমন "ফ্রি")।


আমরা কেবল এটির জন্য এটি করেছি যে ওয়েবসাইটটি কোনও পণ্য বা বিভাগ খুঁজে পাচ্ছে না (Magento 404 / পৃষ্ঠায় কোনও রুট নেই)। আপনিও কি এর মুখোমুখি হয়েছিলেন?
snh_nl

আমি যতদূর মনে করি না, দুঃখিত। আপনি কি সমস্ত সূচি পুনরায় তৈরি করেছেন?
ম্যাথিয়াস জেইস

আমরা এনগিনেক্স ব্যবহার করি এবং এটিকে কাজ করার জন্য কনফিডের জন্য একটি আপডেট প্রয়োজনীয়। আমি আমার মন্তব্য আপডেট করব
snh_nl

আরও 2 টি অদ্ভুত জিনিস। 1) / চেকআউট 4040 এবং 2) ভাষা চয়নকারীকে ফেরত দেয়: আমি যদি ইংরাজীতে ক্লিক করি তবে আবার ইংরাজিতে ক্লিক করুন আমরা দেখতে পাচ্ছি যে ইউরি / এন / এন / এন / ইত্যাদি যোগ করে চলেছে .... বেস ইউআরএল হিসাবে আপনি কী বেছে নিয়েছেন? ডোমেন.ইন বা দিদি আপনি এটিকে
ডোমেইন ডটকম

আমরা ডোমেইন.ইন / বেছে নিয়েছি।
ম্যাথিয়াস জেইস

উত্তর:


18

ইউআরএল ভিত্তিক একাধিক ডোমেন / পাথ পরিবেশন করা খুব সহজ। উল্লিখিত হিসাবে, সবচেয়ে সহজ সেটআপ (শুধুমাত্র কনফিগারেশন-এ) সম্ভব যখন অনন্য core/storeকোডগুলি সাবফোল্ডার হিসাবে পাথে ব্যবহার করা যায় । এর জন্য নিম্নলিখিতগুলির একটি প্রয়োজন:

  1. ভিজিটররা শুরুতে সঠিক সাবফোল্ডার পাথের সাথে সংযুক্ত থাকে
  2. দর্শকদের একটি অবতরণ পৃষ্ঠা পরিবেশন করা হয় যা থেকে তারা তাদের দোকান নির্বাচন করে এবং একটি কুকি গ্রহণ করে receive
  3. কিছু প্রক্রিয়া পিএইচপি প্রতিক্রিয়া পরিচালনা করার আগে রান টাইপ এবং রান কোড সেট করতে ব্যবহৃত হয়

# 3 সম্পর্কিত: যেহেতু 1.4 ম্যাজেন্টো, ওয়েব সার্ভারকে চলমান প্রেক্ষাপট ( ওয়েবসাইট বা স্টোর ) পাশাপাশি নির্দিষ্ট কোডটি ব্যবহার করা উচিত তা নির্ধারণের অনুমতি দেয়। সূচক.এফপি থেকে :

/* Store or website code */
$mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : '';

/* Run store or run website */
$mageRunType = isset($_SERVER['MAGE_RUN_TYPE']) ? $_SERVER['MAGE_RUN_TYPE'] : 'store';

Mage::run($mageRunCode, $mageRunType);

অ্যাপ্লিকেশনটি আরম্ভ করার জন্য এনভায়রনমেন্ট ভেরিয়েবলগুলি ব্যবহৃত হয়, পিএইচপি এমনকি স্পিনিংয়ের আগে সিস্টেমকে প্রভাবিত করা সম্ভব। অ্যাপাচি এবং mod_rewriteসাবফোল্ডারগুলির জন্য এটি কিছুটা কৌতুকপূর্ণ সাহায্যে করা যেতে পারে:

RewriteCond %{REQUEST_URI} ^/de/$
RewriteRule .* - [E=MAGE_RUN_CODE:deutsch]
RewriteCond %{ENV:REDIRECT_MAGE_RUN_CODE} (.+)
RewriteRule .* - [E=MAGE_RUN_CODE:%1]

যেমন দ্বারা প্রদর্শিত ও Apache, এনভায়রনমেন্ট ভেরিয়েবল এবং সাবফোল্ডার সঙ্গে twitchy হয় এই চমৎকার এইরকম উত্তর দেন । প্রাথমিক দুটি রেখার ফলস্বরূপ $_SERVER["REDIRECT_MAGE_RUN_CODE"] = 'deutsch';, পরে দুটি লাইন প্রয়োজনীয় সরবরাহ করে $_SERVER["MAGE_RUN_CODE"] = 'deutsch';। আরও অনেক কৌশল আছে তবে উপরেরটি আমাকে আগে কামড়েছে।

ব্যবহারকারীকে স্টোর কুকি সেট করার জন্য যথাযথ হিসাবে যথাযথ (জিওআইপি + বহু ভাষা উদ্বেগ) প্রাথমিক সনাক্তকরণ হওয়া উচিত যা পরবর্তী অনুরোধগুলিতে যুক্তির মাধ্যমে বাইপাস / পদক্ষেপে ব্যবহার করা যেতে পারে।


1
ধন্যবাদ, বেন এটি এইভাবে করাতে, আমি স্টোর ভিউগুলিকে আরম্ভ করতে পারি তবে আমি সবসময় ম্যাজেন্টো 404 পৃষ্ঠা ("ওফস, আমাদের খারাপ") পাই। আমি বেস ইউআরএল ডোমেন 1.org/en , ডোমেইন. org / de এবং তে সেট করে রেখেছি । স্কিন ইউআরএল, মিডিয়া ইউআরএল ইত্যাদি ডোমেইন. org / এ সেট করা আছে (ত্বক | মিডিয়া | ...) দয়া করে নোট করুন যে আমি যদি স্বাভাবিক "কপি অনুলিপি। পিএইচপি এবং .htaccess" পদ্ধতির ব্যবহার করি তবে সঠিক পৃষ্ঠাগুলি ফিরে আসবে।
ম্যাথিয়াস জেইস 27'13

আমরা এই উত্তরটি গ্রহণ করেছি কারণ এটি আমরা যা অর্জন করার চেষ্টা করেছি তার নিকটতম স্থান পেয়েছে (এমনকি যখন আমরা আমাদের বিশেষ প্রয়োজনীয়তার জন্য এটি কিছুটা আলাদাভাবে সমাধান করেছি তখনও)।
ম্যাথিয়াস জেইস

সত্যিই অবাক হয়ে গেছে যে "URL এ স্টোর কোড যুক্ত করুন" সেটিংটি কার্যকর হয়নি।
বেনমার্কস

স্টোর কোডগুলি অনন্য হতে হবে। এটি ডি /, ফ্রি / বা এন / দিয়ে শেষ হওয়া বেশ কয়েকটি স্টোর দর্শন দিয়ে কীভাবে কাজ করা উচিত?
ম্যাথিয়াস জেইস

আমি মনে করি যে আমি প্রতিলিপি স্টোর কোডগুলি মিস করেছি, যদিও আমি মনে করি যে আমি + সাবফোল্ডার স্তর 1 এর mode_rewriteভিত্তিতে কিছু ওয়েব সার্ভার-ভিত্তিক পুনর্লিখন (উদাহরণস্বরূপ ) HTTP_HOST
ধরেছিলাম

9

যদি ইন্টেন্টেড ইউআরএল (সাবফোল্ডার) এর স্টোর কোডগুলির মতো একই নাম থাকতে পারে (কেন নয়?), আপনি কেবল সক্ষম করতে পারবেন Configuration > Web > Url options > Add Store Code to Urls


সঠিক, তাহলে আপনার এমনকি সাবফোল্ডার প্রয়োজন হবে না। যতক্ষণ না ইউআরএল পুনর্লিখন সক্ষম করা থাকে ততক্ষণ ম্যাজেন্টো জানবে যে "এন" একটি স্টোরভিউ কোড এবং সাব-ফোল্ডারের সন্ধান নয়।
পল গ্রিগোরুটা

8
এই সমাধানটির সাথে সমস্যাটি হ'ল, ম্যাগেন্টো কোনও ম্যাজেন্টো ইনস্টলেশনে কেবল একটি স্টোর কোড "ডি" এর অনুমতি দেয়। সুতরাং একই ভাষাগুলির সাথে যদি আপনার বেশ কয়েকটি ওয়েবসাইট থাকে তবে আপনাকে বিভিন্ন স্টোরকোডগুলি ব্যবহার করতে হবে, যেমন, ডি_ডি, ডি_েন, ...
থ্রিভ

2
রাউভেন পেয়েছে। সমস্যাটি হ'ল একই স্টোর কোড সহ আপনার একাধিক স্টোর থাকতে পারে না।
আনা ভলক্ল

হ্যাঁ, সমস্যাটি হ'ল - রাউভেন যেমন বলেছিলেন - একই স্টোর কোড ব্যবহার করে আপনার কাছে দুটি স্টোর ভিউ থাকতে পারে না।
ম্যাথিয়াস জেইস

আমি নিশ্চিত করি যে রাউভেন এটি সঠিকভাবে পেয়েছে। ম্যাগেন্টোতে একটি বাগ রিপোর্ট করা হয়েছিল। কারণ আরও বহু মাল্টিস্টোর সহ এই আধুনিক পরিবেশে এটি কাজ করা উচিত। যাইহোক, আপনি কি মনে করেন যে সেটিংটি Add store codes to urlস্টোরভিউ সেটিংস তৈরি করা সম্ভব হবে ? magento.stackexchange.com/questions/60686/… = ধরুন সেখানে 1 টি মাল্টিস্টোর সেপ ডোমেন সহ রয়েছে,
অন্যগুলি

3

আমরা ঠিক যে কাজ শেষ

আমরা এন্টারপ্রাইজ সহায়তা দিয়ে যাচাই করেছি যে এটি করার সর্বোত্তম উপায় হল সাবফোল্ডার তৈরি করা।

আমরা এটি এর মতো করে শেষ করেছি:

  • একটি "ভাষা ফোল্ডার" ডিরেক্টরি তৈরি করুন
  • অ্যাডজাস্টেড .htaccess এবং ম্যাজেন্টো ফোল্ডারগুলিতে (অ্যাপ্লিকেশন /, ত্রুটিগুলি /, ...) সিমলিংক সহ ডিরেক্টরিতে সূচক.পিএফপি একটি অনুলিপি তৈরি করেছেন
  • "ভাষা ফোল্ডার" ডিরেক্টরিকে নির্দেশ করে ম্যাজেন্টো মূল ডিরেক্টরিতে "দে", "এন" ইত্যাদি সিমলিংক তৈরি করা হয়েছে

এইভাবে আমরা একটি নতুন সিমলিংক তৈরি করে একটি নতুন ভাষা যুক্ত করতে পারি (যেমন "ফ্রি")।

ব্যাকএন্ড আমরা দোকান স্থাপন base urlকরারdomain.com/en

আপনি যদি এনজিনেক্স ব্যবহার করেন তবে নতুন সাব ফোল্ডারে সূচি.এফপি প্রসেস করতে আপনার অবস্থান প্রক্রিয়াজাতকরণের জন্য একটি আপডেট প্রয়োজনীয়। এটি প্রতিটি নতুন অনুবাদ ফোল্ডারের জন্য করা দরকার


snh_nl আপনার শেষ 2 লাইনের অর্থ কী তা ব্যাখ্যা করার কোনও সুযোগ আছে? আপনি আগে বলেছিলেন একই সমস্যা আমার আছে তবে আমি বুঝতে পারি না: আপনি যদি এনগিনেক্স ব্যবহার করেন তবে নতুন সাব ফোল্ডারে সূচি.এফপি প্রসেস করার জন্য আপনার অবস্থান প্রক্রিয়াজাতকরণের জন্য একটি আপডেট প্রয়োজন necessary এটি প্রতিটি নতুন অনুবাদ ফোল্ডারের জন্য করা দরকার। আমি এনজিনেক্স ব্যবহার করছি এবং আমিও এটি করার চেষ্টা করছি। ধন্যবাদ
vbak

location @rewrite { rewrite /(../)? /$1index.php; }
snh_nl

2

অফিসিয়াল ম্যাজেন্টো জ্ঞান ভিত্তিতে একটি এন্ট্রি রয়েছে যা ঠিক এটি বর্ণনা করে describes

আপনি যদি অ্যাপাচি নিয়ে কাজ করছেন তবে নিশ্চিত হয়ে নিন যে সমস্ত ভার্চুয়াল হোস্ট এন্ট্রি (প্রতিটি ডোমেনের জন্য) একই ডকুমেন্টের রুটের দিকে ইঙ্গিত করছে যেখানে আপনার ম্যাজেন্টো ইনস্টলেশন রয়েছে lies এটি একাধিক ডোমেনের জন্য।

পরবর্তী (এবং শেষ) জিনিসটি হ'ল একই ম্যাগেন্টো ইনস্টলেশন ফোল্ডারে .htaccess । .htaccess একটি শক্তিশালী ডিরেক্টরি-স্তরের কনফিগারেশন ফাইল যেখানে আপনি প্রতিটি সার্ভারের অনুরোধ অনুযায়ী নিয়ম-ক্রিয়া সেট করতে পারেন। সুতরাং আপনাকে সেখানে সমস্ত পৃথক (উপ) ডোমেন / ফোল্ডার ক্রিয়াকলাপ পরিচালনা করতে হবে এবং ম্যাগেন্টো শুরু করার পর্যায়ে সঠিক সার্ভার ভেরিয়েবলগুলি সেট করতে হবে।

সার্ভার কনফিগারেশনটি সম্পন্ন করার পরে, আপনাকে Magento প্রশাসক (সিস্টেম - কনফিগারেশন - সাধারণ - ওয়েব) এর প্রতিটি স্টোরের জন্য বিভিন্ন বেস পাথ সেট করতে হবে।

সুতরাং নিশ্চিত হয়ে নিন যে আপনি সরকারী নির্দেশিকাটি অনুসরণ করেছেন (যা পছন্দসই উপায়ও) এবং জিনিসগুলি সুচারুভাবে কাজ করা উচিত।


1
প্রশ্নটি একাধিক ডোমেন সম্পর্কে নয়।
ফ্যাবিয়ান শেমংলার

একাধিক DOMAINS (.org এবং .ch বিভিন্ন ডোমেন সহ) মাল্টিস্টোর সেটআপ সম্পর্কে প্রশ্ন ছিল। যদিও এটি গুরুত্বপূর্ণ তা নয়, কারণ সরবরাহিত উত্তরটি আপনার প্রতিটি স্টোরের জন্য একাধিক ডোমেন, সাবডোমেন বা কেবল আলাদা সাবফোল্ডার থাকলে নির্বিশেষে মাল্টিস্টোর সেটআপের সমাধানের বর্ণনা দেয়।
জের্নেজ গোলজা

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

1
হুবহু, সমস্যাটি এমন নয় যে একাধিক ডোমেন ব্যবহার করতে হবে তবে বেশ কয়েকটি স্টোরকে অবশ্যই একই পথ / "সাবফোল্ডার" ভাগ করতে হবে যা URL এ স্টোর কোড যুক্ত করে সম্ভব নয়।
ম্যাথিয়াস জেইস

-2

প্রথমে আপনাকে ম্যাজেন্টো অ্যাডমিন প্যানেলে কিছু কনফিগারেশন করতে হবে, তারপরে একটি উপ-ডিরেক্টরি তৈরি করতে হবে এবং সূচী। পিএফপি এবং .htaccess উপ-ডিরেক্টরিতে সরিয়ে নিয়ে সূচি.এফপি-তে কিছু ছোটখাট পরিবর্তন করতে হবে।

এটি কীভাবে করা যায় তার একটি সম্পূর্ণ উদাহরণ এখানে

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