Многофункциональный контроллер Magento - PullRequest
3 голосов
/ 07 июня 2011

Можно ли программно рассылать сайты в Magento?В настоящее время у меня есть каталог в корне моего сайта, который называется / sites.В этом каталоге у меня есть подкаталоги для каждого сайта, например, site_a, site_b, site_c.Затем в каждом подкаталоге сайта есть .htaccess и index.php с соответствующим кодом запуска, например:

$mageFilename = '../../app/Mage.php';
require_once $mageFilename;    
Mage::run("site_b", "website");

в файле index.php в / sites / site_b.Хотя это работает, я хочу избежать управления файлами в файловой системе.Кто-нибудь может дать какие-либо рекомендации о том, как это сделать?Возможно, скрипт в / sites, который стоит вместо отдельных подкаталогов сайтов.Любая помощь приветствуется.

Ответы [ 3 ]

3 голосов
/ 07 июня 2011

У вас есть доступ к переменным $ _SERVER в php, и вы можете использовать их для определения Mage :: run ("что угодно", "веб-сайт");позвоните, например:

$whatever=$_SERVER['condition/url/whatever'];

// or use some cookies 

if (isset($_COOKIE['dev'])) $whatever=$_COOKIE['dev'];


switch($whatever)
{ case "example.com":
  case "www.example.com":
    $_SERVER['MAGE_RUN_CODE'] = "example";
    $_SERVER['MAGE_RUN_TYPE'] = "website";
    break;
  case "dev":
  case "test.com":
    $_SERVER['MAGE_RUN_CODE'] = "test";
    $_SERVER['MAGE_RUN_TYPE'] = "website";
  default:
    $_SERVER['MAGE_RUN_CODE'] = "live";
    $_SERVER['MAGE_RUN_TYPE'] = "website";
}
Mage::run($_SERVER['MAGE_RUN_CODE'], $_SERVER['MAGE_RUN_TYPE']);

Таким образом, вам потребуется только одна кодовая база плюс правильно настроенные параметры в бэкэнде Magento для маршрутизации в ваши различные магазины.

0 голосов
/ 16 июня 2011

Вы можете обрабатывать все в файле .htaccess, который выглядит следующим образом:

#SetEnvIf Host www\.lenjerii\.com MAGE_RUN_CODE=base
#SetEnvIf Host www\.lenjerii\.com MAGE_RUN_TYPE=website
#SetEnvIf Host ^lenjerii\.com MAGE_RUN_CODE=base
#SetEnvIf Host ^lenjerii\.com MAGE_RUN_TYPE=website

#SetEnvIf Host www\.wildfashion\.ro MAGE_RUN_CODE=wildfashion
#SetEnvIf Host www\.wildfashion\.ro MAGE_RUN_TYPE=website
#SetEnvIf Host ^wildfashion\.ro MAGE_RUN_CODE=wildfashion
#SetEnvIf Host ^wildfashion\.ro MAGE_RUN_TYPE=website

Это решение исключает любые другие папки для ваших дополнительных веб-сайтов.

0 голосов
/ 07 июня 2011

если я правильно вас понимаю, вам нужна символическая ссылка: в каждом подкаталоге сделайте символическую ссылку на исходную установку.IE: ln -s ../app/ ./app.
Ознакомьтесь с этим учебником

...