我正在尝试在每个第三个菜单列表中填充带有图像/徽标的菜单项,请参阅下面的示例。
我一直在使用Silverstripe填充菜单项,下面是我的代码到目前为止没有图像。有人可以指出我在第三级菜单上插入图像/徽标的正确方向吗?
// initialise plugins
jQuery(function(){
jQuery('ul.sf-menu').superfish();
});
</script>
<ul class="sf-menu">
<% control Menu(1) %>
<li>
<a href="#a">$MenuTitle</a>
<% if Children %>
<ul><% control Children %>
<li>
<a href="#aa">$MenuTitle</a>
<% if Children %>
<ul><% control Children %>
<li>
<a href="#aa">$MenuTitle</a>
</li>
<% end_control %>
</ul><% end_if %>
</li>
<% end_control %>
</ul><% end_if %>
<!--<li>
<a href="#">menu item</a>
</li>-->
</li> <!--current-->
<% end_control %><!-- <li>
<a href="#">menu item</a>
</li> -->
</ul> <!--sf-menu-->
谢谢堆。 S:)
下面的UPDATE 是我的Page.php,我已将$ Image.SetSize(20,20)$ MenuTitle插入到我的第三级菜单中。但是,每当我尝试通过CMS插入图像时,CMS中都会出现错误。对不起,我是新手,任何帮助都将不胜感激。
<?php
class Page extends SiteTree {
public static $db = array(
);
public static $has_one = array(
'MenuImage' => 'Image'
);
function getCMSFields() {
$fields = parent::getCMSFields();
$fields->addFieldToTab("Root.Content.Images", new ImageField('MenuImage','Menu image'));
return $fields;
}
}
class Page_Controller extends ContentController {
public static $allowed_actions = array (
);
public function init() {
parent::init();
// Note: you should use SS template require tags inside your templates
// instead of putting Requirements calls here. However these are
// included so that our older themes still work
Requirements::themedCSS('layout');
Requirements::themedCSS('typography');
Requirements::themedCSS('form');
}
}
这是错误信息。
[用户错误]无法运行查询:SELECT * FROM“Page”WHERE“ID”= 15表'ss_show.page'不存在 POST / Show / admin / EditForm / field / MenuImage / EditFileForm
C5中的第525行:\ wamp \ www \ Show \ sapphire \ core \ model \ MySQLDatabase.php
答案 0 :(得分:1)
假设您的页面对象上有图像,您可以通过执行以下操作在模板中呈现它:
$ MyImage.SetWidth(50)$ MenuTitle
“$ MyImage.SetWidth(50)”将输出图像标签,图像大小调整为50px宽。有关详细信息,请参阅SilverStripe image reference。
答案 1 :(得分:0)
如果您还没有菜单图片,请按照官方文档进行操作:http://doc.silverstripe.org/sapphire/en/tutorials/2-extending-a-basic-site
答案 2 :(得分:0)
我在soneone的帮助下想出来了。以防其他人处于相同的情况,这是因为我没有重建我的数据库。访问mysite.com/dev/build以重建数据库。更新后面的代码在此之后工作。感谢大家! :)