Questions tagged «template»

包含所有用于显示在前端或后端的`phtml`文件的文件夹。

2
Magento 2 @escapeNotVerified
我/* @escapeNotVerified */在Magento2的模板文件中看到了很多此注释。 它有特殊含义吗? 有什么用吗? 例子: https://github.com/magento/magento2/blob/2.1/app/code/Magento/Catalog/view/frontend/templates/product/list.phtml#L23 https://github.com/magento/magento2/blob/2.1/app/code/Magento/Catalog/view/frontend/templates/product/image_with_borders.phtml#L10 https://github.com/magento/magento2/blob/2.1/app/code/Magento/Catalog/view/frontend/templates/product/gallery.phtml#L12 我可以在这里继续浏览几页。




3
有条件地显示/隐藏布局XML中的块
如何有条件地在Magento的布局XML中添加一个块(取决于管理面板中的配置)? 我们可以检查config是否为true。在下面的示例中,如果sample/config/show_toplinks管理面板中的config(在“系统”->“配置”中)为true,则将使用模板文件links.phtml来呈现“顶部链接”。如果sample/config/show_toplinks为false,则将使用默认模板。 <reference name="top.links"> <action method="setTemplate" ifconfig="sample/config/show_toplinks"> <template>page/template/links.phtml</template> </action> </reference> 我在网络中的某个地方找到了解决方法。我们可以将一个空模板设置为“顶部链接”的默认模板,如下所示: <reference name="top.links"> <action method="setTemplate" ifconfig="sample/config/show_toplinks"> <template>page/template/links.phtml</template> </action> <!-- OR set completely empty template --> <action method="setTemplate"> <template>page/template/empty_template_for_links.phtml</template> </action> </reference> 在这种情况下,如果sample/config/show_toplinks为true,则将使用模板links.phtml并显示“顶部链接”。但是如果sample/config/show_toplinks为false,则将empty_template_for_links.phtml使用该模板,并且该模板完全为空,因此它不返回任何HTML,并且顶部链接也不可见。 还有其他方法可以根据管理面板中的配置有条件地显示或隐藏块吗? 这种解决方法安全吗? 这会导致任何意外错误吗? 编辑: 根据所有答案,我认为Rick Kuipers的解决方案对于我的情况而言似乎最为方便。但是我还有另一个相关的问题: <block type="core/template" name="my_block" template="my/block.phtml" /> <!-- ...add more blocks here --> <reference name="footer"> …
32 template  layout  blocks  xml 


2
Magento 2 Templates:使用`$ block`或`$ this`?
在Magento 2中,该$this变量不再引用模板的块对象。它指的是模板类 Magento\Framework\View\TemplateEngine\Php 但是,此模板类具有传递__call方法 #File: vendor/magento/framework/View/TemplateEngine/Php.php public function __call($method, $args) { return call_user_func_array([$this->_currentBlock, $method], $args); } 这样可以确保任何方法调用都可以到达实际的块。这也解释了为什么不能从phtml模板调用受保护的方法。 但是除此之外,每个(我认为吗?)模板都有一个名为$blockpopulated 的变量,该变量也引用父块对象。您可以在Magento的列表模板中看到此用法 #File: vendor/magento/module-catalog/view/frontend/templates/product/list.phtml //... $_productCollection = $block->getLoadedProductCollection(); 使用$block变量但从未明确定义的位置。 除了上述差异之外,使用一种技术与另一种技术之间是否有区别?即两者都做$block,并$this->currentBlock指向同一个对象吗?

4
Magento 2的主题-从头开始
你们中的一些人可能阅读了有关Magento 1:从头开始的主题的主题-从头开始 我想知道,为Magento 2从零开始开发主题的最佳实践是什么? 您使用本机luma还是blank主题进行构建?还是其他? 您是否使用任何扩展名来帮助您开发主题? 从头开始开发主题时应遵循哪些步骤?


13
在模板中获取产品的完整图片网址
我正在尝试创建一个静态块来显示动态产品。这是应该获取每个子类别并为每个类别中的每个产品打印图像的代码。 <?php $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $category = $objectManager->get('Magento\Framework\Registry')->registry('current_category'); ?><ol><?php foreach ($category->getChildrenCategories() as $child_category) { ?><li> <ul><?php foreach ($child_category->getProductCollection() as $product) { ?><li><img src="<?php echo $product->getImage();?>"/><li><?php } ?></ul> </li><?php } ?></ol> 除了img srcs仅以“ /a/b/ab001.jpg”为例而不是完整路径外,它几乎可以正常工作,例如“ / pub / media / catalog / product / cache / 1 / small_image / 240x300 / …


4
如何使用自定义模块覆盖HTML文件?
我正在开发Magento 2中用于付款方式的自定义模块。目前,我正在使用供应商目录中的cc-form.html,并且模块运行正常。参见下面的路径: 供应商/ magento /模块付款/视图/前端/网络/模板/付款/cc-form.html 有什么方法可以覆盖HTML文件吗? 注意:我想使用自定义扩展名覆盖它。参见下面的路径: 应用/代码/命名空间/模块/视图/前端/网络/模板/付款/cc-form.html 任何帮助,将不胜感激。谢谢!

2
在magento2中使用页面工厂类
使用\Magento\Framework\View\Result\PageFactory在构造函数中注入的结果工厂类在Magento2中呈现自定义模块页面的目的是什么,并使页面显示 $resultPage = $this->resultFactory->create(ResultFactory::TYPE_PAGE); 而不是像在Magento 1.x方法中一样进行以下显示 $this->_view->loadLayout(); $this->_view->renderLayout();



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.