我想快速更改ubercart表单数据(我想删除购物车中产品节点的链接)。我找到了一个解决方案,通过创建一个新模块(下面的链接和代码)来实现hook_form_alter()。hook_form_alter - 模块或template.php
我的问题是,我必须创建一个新的模块,或者我可以只添加此功能到我的主题的template.php文件?我尝试了以后,但我无法得到它的工作(我将函数重命名为NameOfMyTheme_form_alter)。如果我遇到一些我想改变的代码,你怎么知道你是否应该创建一个模块或者改变你的主题?)。
http://www.ubercart.org/forum/support/2298/remove_product_links_shopping_cart
function your_module_form_alter(&$form, &$form_state, $form_id) {
if($form_id == 'uc_cart_view_form') {
foreach($form['items'] as $key => $item) {
if(!empty($item['desc']['#value'])) {
$form['items'][$key]['desc']['#value'] = strip_tags($item['desc']['#value']);
}
}
}
}
感谢克莱夫+1呼吁的主题。出于某种原因,themeName_form_alter不会被调用(我在函数顶部添加了一个dd()来检查)。最后,我重写了生成购物车HTML的themeName_uc_cart_view_form()。 – spiderplant0 2012-08-10 09:23:58
嗨克莱夫,我已经在我的自定义模块中尝试过hook_form_alter。但它不起作用。这个问题有什么特别的原因吗? – Ananth 2014-05-07 12:09:46