我想做下一件事:
我正在开发一个带有一些图像显示背景的Joomla网站。
我想要的是根据显示的网站部分显示不同的图像,例如:
家:../images/img1.jpg../images/img2.jpg
关于我们:../images/img3.jpg../images/img4.jpg
我想到在后端的"编辑菜单项"布局上使用某种覆盖,以添加一些新字段,在其中我选择要显示该部分的图片,然后在此处输出这些文件作为HTML模板。
有办法做到这一点吗?
或也许有一种更简单的方法。
这不是您应该用Joomla编写代码的内容,因为有多种方法可以使用模板样式变化(2.5 )或各种扩展。<<<<<<<<<<<</p>
多年来,当我们需要一个简单的解决方案并且在1.5-> 2.5中起作用时,我们使用了"菜单依赖项"扩展。
如果我理解您的问题
<?php
$menu = &JSite::getMenu();
$menuItem = $menu->getActive();
print_r($menuItem);
?>
根据您的菜单,您可以输出CSS。让我知道您是否有任何问题。
我同意使用模板样式。
复制模板,并添加一个新的参数,以便将背景图像添加到template.xml。然后添加代码将图像插入模板index.php。
然后为要使用的每个图像制作样式。
将适当样式分配给适当的菜单项。
这可能对你有帮助....
首先,您必须在administrator/components/com_menus/models/forms/item.xml
示例
<field name="your_fieldname" type="media"
label="fieldname"
description="Give your field description" />
在administrator/components/com_menus/views/item/tmpl/edit.php
<li><?php echo $this->form->getLabel('your_fieldname'); ?>
<?php echo $this->form->getInput('your_fieldname'); ?></li>
在yourtableprefix_menu
中添加一个字段,字段名称必须是您的字段名称。
添加
在文件 includes/menu.php
中,函数load()
在以下行中添加您的字段名称
$query->select('m.id, m.menutype, m.title, m.alias, m.path AS route, m.link, m.type, m.level, m.language,m.our_image');
我被添加了m.our_image
,因此您可以添加fieldName
在index.php
文件中
$menu = &JSite::getMenu();
$menuItem = $menu->getActive();
print_r($menuItem);
echo $menuItem->your_fieldname; //for get the particular value