String 如何通过查询字符串更改Magento主题?
是否可以通过查询字符串更改Magento模板 我正在开发一个自定义模板,有时我想检查我是否弄坏了什么,所以我想通过查询字符串更改默认模板的主题 我渴望得到这样的东西:String 如何通过查询字符串更改Magento主题?,string,magento,themes,String,Magento,Themes,是否可以通过查询字符串更改Magento模板 我正在开发一个自定义模板,有时我想检查我是否弄坏了什么,所以我想通过查询字符串更改默认模板的主题 我渴望得到这样的东西: public function changeTheme(){ if (Mage::app()->getRequest()->getParam('layout_switch') == '1'){ Mage::getDesign()->setArea(‘frontend’)
public function changeTheme(){
if (Mage::app()->getRequest()->getParam('layout_switch') == '1'){
Mage::getDesign()->setArea(‘frontend’)
->setPackageName(Mage::app()->getRequest()->getParam('package'))
->setTheme(Mage::app()->getRequest()->getParam('theme'));
}
return;
}
?_主题=默认值
这样的事情存在吗?简单的回答是不,据我所知,你不能 但是,如果它是您的本地安装,而您仅将其用作开发环境!您可以使用以下技巧:
然后将您想要的主题分配给该商店视图,然后像yourstore.com/?\uuuuuuuu store=storecode一样访问它。简短的回答是不,据我所知,您不能 但是,如果它是您的本地安装,而您仅将其用作开发环境!您可以使用以下技巧: 并将您想要的主题分配给该存储视图,然后像yourstore.com/?\uuuuuuu store=storecode那样以编程方式访问它: 您可以编写一个正在侦听事件的观察者 观察者方法可以如下所示:
public function changeTheme(){
if (Mage::app()->getRequest()->getParam('layout_switch') == '1'){
Mage::getDesign()->setArea(‘frontend’)
->setPackageName(Mage::app()->getRequest()->getParam('package'))
->setTheme(Mage::app()->getRequest()->getParam('theme'));
}
return;
}
}
然后你只需要用例如
yourdomain.com/index.php/layout_switch/1/package/default/theme/default
以编程方式:
您可以编写一个正在侦听事件的观察者
观察者方法可以如下所示:
public function changeTheme(){
if (Mage::app()->getRequest()->getParam('layout_switch') == '1'){
Mage::getDesign()->setArea(‘frontend’)
->setPackageName(Mage::app()->getRequest()->getParam('package'))
->setTheme(Mage::app()->getRequest()->getParam('theme'));
}
return;
}
}
然后你只需要用例如
yourdomain.com/index.php/layout_switch/1/package/default/theme/default
简单到1-2-3:创建一个新的开发主题,并将当前live主题中的所有文件复制到新的应用/设计和sking主题中。然后观察控制器\动作\预触发事件,然后在观察者功能中简单地:
$controllerAction = $observer->getControllerAction();
if ($controllerAction->getLayout()->getArea() == Mage_Core_Model_App_Area::AREA_FRONTEND) {
$ipAddress = Mage::helper('core/http')->getRemoteAddr();
$ipAddresses = array('xxx.xxx.xxx.xxx');
if (in_array($ipAddress, $ipAddresses)) {
Mage::getDesign()->setTheme('theme-wanted');
}
}
对设计调整非常有用。工作完成后,观察员应被禁用或模块停用,直到下一次。简单到1-2-3。创建一个新的开发主题,并将当前live主题中的所有文件复制到新的应用程序/设计和sking主题中。然后观察控制器\动作\预触发事件,然后在观察者功能中简单地:
$controllerAction = $observer->getControllerAction();
if ($controllerAction->getLayout()->getArea() == Mage_Core_Model_App_Area::AREA_FRONTEND) {
$ipAddress = Mage::helper('core/http')->getRemoteAddr();
$ipAddresses = array('xxx.xxx.xxx.xxx');
if (in_array($ipAddress, $ipAddresses)) {
Mage::getDesign()->setTheme('theme-wanted');
}
}
对设计调整非常有用。工作完成后,观察员应被禁用或模块停用,直到下一次Hi,这太棒了,但我不想编码存档。Hi,这太棒了,但我不想编码存档。