2

我想做下一件事:

我正在开发一个 Joomla 网站,该网站具有显示一些图像的背景。

我想要的是根据显示的网站部分显示不同的图像,例如:

主页:../images/img1.jpg ../images/img2.jpg

关于我们:../images/img3.jpg ../images/img4.jpg

我想在后端的“编辑菜单项”布局上使用某种覆盖来添加一些新字段,在其中选择我希望该部分显示的图片,然后在模板上将这些文件输出为 HTML。

有没有办法做到这一点?

或者也许有更简单的方法。

4

4 回答 4

2

这不是您应该使用 Joomla 编写代码的东西,因为有多种方法可以使用模板样式变体(在 2.5+ 中)或各种扩展来执行此操作。

多年来,当我们需要一个简单的解决方案并且它适用于 1.5->2.5 时,我们使用了“菜单依赖项”扩展。

于 2012-11-12T02:46:49.413 回答
0

如果我明白你的问题

<?php
$menu = &JSite::getMenu();
$menuItem = $menu->getActive();

print_r($menuItem);
?>

根据您所在的菜单,您可以输出 CSS。如果您有任何问题,请告诉我。

于 2012-11-12T01:40:40.170 回答
0

我同意使用模板样式。

复制您的模板并将背景图像的新参数添加到 template.xml。然后添加代码以将图像插入到模板的 index.php 中。

然后为您要使用的每个图像制作一个样式。

将适当的样式分配给适当的菜单项。

于 2012-11-12T04:52:06.367 回答
0

这可能对你有帮助......

首先,您必须在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,像这样你可以添加你的字段名

index.php文件中

$menu = &JSite::getMenu();
$menuItem = $menu->getActive();
print_r($menuItem); 
echo $menuItem->your_fieldname; //for get the particular value
于 2012-11-12T05:38:20.280 回答