关于JLayouts的Joomla故障小组课程
或者...如何在10分钟内学会JLayouts,以及为什么为Joomla故障小组做出贡献可以是一次有价值的经验。JLayout解决了硬编码标记的问题。JLayout提供了一个简单的机制,可以将HTML标记移动到一个单独的文件中,然后由模板覆盖。
首先介绍一下我自己。我对Joomla比较陌生,大约一年或两年前才开始使用Joomla 1.6,因为需要灵活的、开源的内容管理系统(CMS)和访问控制(ACL)。不久之后,有人写了一篇文章,我认为是Mark Dexter,鼓励人们加入Joomla故障小组,作为学习Joomla的好方法。所以我就这么做了,这已经是一次有价值且有回报的经历。
有一次这样的经历就是听说和学习JLayouts,这是由Yannick Gautlier在2012年9月开发的,用于修复一个错误。它始于Jacques Rentzke和一个关于管理员模板、Bluestork和Bootstrap的问题。提到Bootstrap引发了对布局标记的技术优点和影响的几条其他评论。
在这个时候,Michael Babker提出了JLayouts作为标记依赖的简单解决方案。随着Seth Warburton加入讨论,对硬编码Bootstrap标记的困难得到了更多的关注。Michael再次提到JLayouts,Jacques找到了一些关于JLayouts的文档,一致认为如果JLayouts无处不在将非常棒。但是...那不是要花很多功夫吗?
要让JLayout工作需要什么?
开始计时,课程开始了,Michael说:“给我10分钟,我会制作一个JToolbar转换”。
Elin Waring首先指出了现有代码示例,其中使用了JLayouts,首先是布局(layouts/joomla/edit/details.php),然后是调用(administrator/components/com_contact/view/contact/tmpl/edit.php)。然后可以在模板中覆盖布局(/administrator/templates/hathor/html/layouts/joomla/edit/details.php)。
然后,正好在10分钟后,Michael带着一个经过完整制作且易于理解的示例回来,展示了如何将JToolbarButtonConfirm类转换为使用JLayout渲染的标记,并通过一个指向包含所有更改的提交的GitHub链接提供。稍后,Michael又回来展示了一个更完整的JToobar。
因此,我们都变得更加明智。为了回馈,我进行了一些测试,感谢主要参与者关于JLayouts的课程,Jacques建议写一篇JCM文章。
总结...
本文并未试图教授任何人如何使用JLayouts,但希望它能够激发读者进一步阅读,甚至可能为Joomla Bug Squad做出贡献。
一个基于JLayout文档的简单示例。
创建一个布局文件,/layouts/joomla/content/helloworld.php
<?
defined('JPATH_BASE')ordie;
text = $displayData['text']; ?>
<h1>Hello <?php echo $text; ?></h1>
然后在任何文件中,例如在components/com_content/views/article/tmpl/default.php中添加
$data = array();
$data['text'] = JText::_('World!');
$layout=newJLayoutFile('joomla.content.helloworld');
echo$layout->render($data);?>
在前端查看一篇文章,你会看到Hello World!。
要覆盖,将布局文件复制到templates/mytemplate/html/layouts/joomla/content/helloworld.php
<?
defined('JPATH_BASE')ordie;
text = $displayData['text'];
?>
<div>Hello <?php echo $text; ?></div>
Michael的JToolbarButtonConfirm示例
对JToolbar转换为JLayout的进一步完整扩展
JLayout文档
- http://docs.joomla.org/J3.1:Sharing_layouts_across_views_or_extensions_with_JLayout
Roberto Segura即将推出的JLayout进一步增强
发表在Joomla社区杂志上的一些文章代表了作者在特定主题上的个人观点或经验,可能不与Joomla项目的官方立场一致
通过接受,您将访问https://magazine.joomla.net.cn/外部第三方提供的服务
评论