我知道"自定义变量"以及它们如何与电子邮件模板中的{{}}括号以及静态块一起使用.
但是,我想在模板代码即view.phtml中使用它们.
我希望能够访问'variable plain value'来检索转换值,即一个数字/字符串作为给定'变量代码'的数字.
在原型或普通但跨浏览器兼容的Javascript中,如何将div的内容移动到另一个div的内容?
div内部是一个带有id的表单和具有事件观察者的依赖Javascript代码.我不希望这个因为我在DOM中移动了一个块而中断.'innerHTML = innerHTML'解决方案不是我想要的.在加载DOM时我也需要这样做.
我想离开这个:
<div id='here'>
<div id='MacGuffin'>
<p>Hello Worlds!</p>
</div>
</div>
<div id='there'>
</div>
Run Code Online (Sandbox Code Playgroud)
对此:
<div id='here'>
</div>
<div id='there'>
<div id='MacGuffin'>
<p>Hello Worlds!</p>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
...当文件加载时没有任何跳跃.
以前我实施了一个"仅限贸易"的商店前台,显示贸易客户的增值税和增值税价格.他们仍然需要缴纳增值税,只是目录显示增值税价格以及常规增值税价格.
我希望能够在不创建新店面的情况下实现相同的功能,即如果有人在"交易"客户群中,他们会看到显示的价格是公司和公司.他们仍然和其他人一样处于相同的税率,所以我不希望拥有0%的税收组,我想要的只是能够根据他们的团队来改变价格.这也包括标签,因此不仅仅是价格,而是明确表示增值税/税前/税.
用"税"而不是"增值税"给谷歌花了一段时间,但到目前为止,我还没有找到很多关于从哪里开始的线索.如果有理由不能轻易做到这一点,那么我想知道.如果没有这个,如果有一个前端黑客要尝试,例如一些条件原型来取消隐藏价格/标签,那么这将是必经之路.
受到Clockworkgeek的启发,我做到了这一点,还不是完美的模块解决方案,但现在对我有用的东西:
将核心文件克隆到app/code/local/Mage/Tax/Model/Config.php并更新getPriceDisplayType函数:
public function getPriceDisplayType($store = null)
{ $customer = Mage::helper('customer')->getCustomer();
if ($customer->getGroupId() > 1) {
return self::DISPLAY_TYPE_BOTH;
} else {
return (int)Mage::getStoreConfig(self::CONFIG_XML_PATH_PRICE_DISPLAY_TYPE, $store);
}
}
Run Code Online (Sandbox Code Playgroud)
这取决于0未登录,1是普通客户和任何高于此的"特殊"组.我一开始觉得它不起作用,但后来我登录了......
我可以得到这样的国家:
$countryCollection = Mage::getModel('directory/country')->getResourceCollection()->loadByStore();
Run Code Online (Sandbox Code Playgroud)
它们被列在对象的某个地方,但是,我怎么toOptionsArray把它们拿出来?
我只关注每个网站的选项,而不是完整的列表,
即我想要安哥拉,南极洲等等.(对不起安哥拉人和企鹅队.)
在我的表格中,我有:
<?php echo $this->__('Date') ?>:
<input type="text" name="cal_date" id="cal_date" value="" />
<img title="Select date" id="cal_date_trig" src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN) . 'adminhtml/default/default/images/grid-cal.gif'; ?>" class="v-middle"/>
Run Code Online (Sandbox Code Playgroud)
这显示日历.
在标题中我有:
<reference name="head">
<action method="addItem"><type>js_css</type><name>calendar/calendar-win2k-1.css</name><params/><!--<if/><condition>can_load_calendar_js</condition>--></action>
<action method="addItem"><type>js</type><name>calendar/calendar.js</name><!--<params/><if/><condition>can_load_calendar_js</condition>--></action>
<action method="addItem"><type>js</type><name>calendar/calendar-setup.js</name><!--<params/><if/><condition>can_load_calendar_js</condition>--></action>
</reference>
Run Code Online (Sandbox Code Playgroud)
这会加载js和css.
在布局xml我有:
<block type="core/html_calendar" name="html_calendar" as="html_calendar" template="page/js/calendar.phtml"/>
Run Code Online (Sandbox Code Playgroud)
当我在我的模板中包含它时,这会将日历选择器添加到页面:
<?php echo $this->getChildHtml('html_calendar') ?>
Run Code Online (Sandbox Code Playgroud)
我没有错误,日期选择器工作.
我已使用en_GB语言环境将后端的日期格式设置为dd/mm/yy.但是我仍然获得美国日期格式.我怎样才能获得英国日期格式?
我在后端有各种价格的运费.这些可以改变,我想在可以进行客户编辑的前端页面中反映这些更改,即CMS页面或静态块.
是否有任何{{}}括号方式从后端拉出配置变量?
最近通过更改核心文件回答了这个问题:
有一个文件需要更新才能回答这个问题: js/mage/adminhtml/grid.js
我想知道的是如何正确地做到这一点,即不编辑核心文件.
编辑
这是有效的:
在app/design/adminhtml/default/default/layout/local.xml:
<?xml version="1.0"?>
<layout version="0.1.0">
<default>
<reference name="head">
<action method="removeItem"><type>js</type><name>mage/adminhtml/grid.js</name></action>
<action method="addItem"><type>js</type><name>colors/adminhtml/grid.js</name></action>
</reference>
</default>
</layout>
Run Code Online (Sandbox Code Playgroud)
然后我把一个新目录+子目录和文件放入 js/colors/adminhtml/grid.js
非常感谢艾伦给予我'勇气'来做到这一点......
我有一个使用Magento Module Creator创建的简单模块,在admin-> system-> config中有几个设置.
当我进入这些设置并选择启用/禁用选项时,设置会被保存 - 这很好 - 但是,我想在此之后运行我自己的代码,即保存操作后,保存数据.
我遇到了一个应该按网站更新价格的模块.
在我的模块的顶部,我有:
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
Run Code Online (Sandbox Code Playgroud)
这应该意味着当我调用模块(模块有一个前端)时,我可以更新价格等'admin'.然而,这并没有发生.目前我已经做了一些绝望的努力让它工作 - 看看数字格式是否绊倒或索引没有重新索引,缓存问题和其他任何事情.
以下代码段实际上生成了正确的数字,但它只是没有保存到数据库中.有任何想法吗?
$product = Mage::getModel('catalog/product')->
setStoreId($storeId)->setWebsiteId($websites[$store])->
loadByAttribute('sku',$price['SKU']);
$oldprice=(float)str_replace(",","",$product->getPrice());
if($newprice!=$oldprice) {
Mage::log($product->getPrice());
$product->setPrice(number_format($newprice,4,".",""));
Mage::log($product->getPrice());
$product->getResource()->saveAttribute($product, 'price');
$product->save();
Mage::log($product->getPrice());
unset($product);
}
Run Code Online (Sandbox Code Playgroud) 在较新版本的Magento中,有一个持久的篮子功能,在登录/创建帐户页面上有一个"这是什么"提示.
在我的1.6'空白'为基础的主题上,这个小弹出窗口除了使屏幕变暗之外没有做任何事情,好像它是显示弹出窗口一样.Firebug没有显示任何错误,并且鉴于有一些Javascript观察到某处有一些需要加载的额外窗口js,我做错了什么?