2012-03-26 33 views
9

Tôi hiện đang làm việc trên một trang web Magento có hai ngôn ngữ (tiếng Pháp và tiếng Hà Lan). Cách tiếp cận tôi đang tham gia thực hiện như sau: -magento set store id programatically

  • Tạo một thư mục trong thư mục gốc web (tên nl)
  • nhập các index.php và tập tin .htaccess đến thư mục đó
  • Trong index. php tôi sửa đổi dòng sau:

    Mage::run('nl'); // to specify the store view i want to load 
    

Khi tôi kiểm tra, các chuyên mục, nội dung CMS vv vẫn còn trong ngôn ngữ mặc định. Mã sau: -

Mage::app()->getStore()->getName(); 

trả về tên của cửa hàng fr.

Tôi đang làm gì sai? Tôi nghĩ rằng một giải pháp khả thi sẽ là để thiết lập các cửa hàng để chạy trong index.php ...

Ai đó có thể vui lòng cho tôi biết cách tải một cửa hàng bằng ID?

Trả lời

26

Sau giờ huffing và puffing tôi đã có thể tìm ra cách để đặt id cửa hàng theo chương trình :)

Trong tập tin index.php, (trong ngôn ngữ của bạn thư mục cụ thể), thêm dòng sau: -

$store_id = 'your_store_id_here'; 
$mageRunCode = 'store view code'; 
$mageRunType = 'store'; 

Mage::app()->setCurrentStore($store_id); 
Mage::run($mageRunCode, $mageRunType); 

Hope ai đó sẽ tìm thấy thông tin này hữu ích :)

+0

Bạn đã lưu ngày của tôi! :) – arekstasiewicz

+1

+1 'setCurrentStore()' là những gì tôi đang tìm kiếm cảm ơn! –

+0

Bạn có thể cho tôi biết vị trí tôi nên cập nhật mã này không? – Chiragit007

5

Bạn sẽ nhận được tất cả các chi tiết cửa hàng ở đây

<?php 
$allStores = Mage::app()->getStores(); 
foreach ($allStores as $_eachStoreId => $val) 
{ 
$_storeCode = Mage::app()->getStore($_eachStoreId)->getCode(); 
$_storeName = Mage::app()->getStore($_eachStoreId)->getName(); 
$_storeId = Mage::app()->getStore($_eachStoreId)->getId(); 
echo $_storeId; 
echo $_storeCode; 
echo $_storeName; 
} 
?> 

Để chuyển hướng đến các cửa hàng chỉ định, bạn cần phải chuyển hướng trang cùng với mã cửa hàng.

http://www.mywebsite.com/index.php/store_code/

Vui lòng kiểm tra mẫu/trang/switch/stores.phtml để biết thêm chi tiết

+0

Cảm ơn trả lời của bạn Sarath, nhưng tôi thiên đường' t kích hoạt 'Thêm mã cửa hàng vào url' trong quản trị viên, vì vậy ở trên sẽ không hoạt động .. –

3

Nếu lý do bạn đang làm những thứ htaccess là để bạn có thể tạo ra các URL cụ thể cho từng cửa hàng, bạn có thể muốn sử dụng tùy chọn cấu hình để thực hiện điều đó cho bạn, phải ở trong System> Config> Web

Các vấn đề liên quan