Questions tagged «phtml»

表示与模板`.phtml`文件有关的问题

6
Magento 2:更改块的模板
在Magento 1中,作为模块开发人员,可以使用如下布局XML代码来更改块的模板 <reference name="block_to_change"> <action method="setTemplate"> <param>/path/to/template.phtml</param> </action> </reference> 然后将模板添加到基本主题。 app/design/frontend/base/default/template/path/to/template.phtml 作为模块开发人员,是否有可能在Magento 2中做类似的事情?还是我需要使用布局XML或PHP代码来删除我感兴趣的块,然后使用其他模板插入新块(其类扩展了原始块类的类) 我知道我可以创建一个替换模板的自定义主题,但是我对创建一个可以更改默认模板的模块感兴趣,但是仍然允许自定义主题来替换该模板。

6
在PHTML页面和CMS块上添加静态图像:Magento2
如何在PHTML页面和CMS块上添加静态图像到Magento2?在Magento 1.x中,可以使用$this->getSkinUrl('images/xyz.jpg') 我正在尝试将方法导入Magento2 在Phtml文件中: <img src=”<?php echo $this->getViewFileUrl(‘images/footer-logo.png’); ?>” alt=”Demo”> 在CMS块中: <img src=”{{view url=”images/slide-bg.jpg”}}” alt=”” /> 但它无法正常工作。请告诉我我的错误

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指向同一个对象吗?

5
将数据从控制器发送到phtml
我有这个控制器: ... public function insertAction() { $something = 'testcase'; $this->loadLayout(); $this->_title($this->__("the title")); $this->renderLayout(); } ... 我想访问$something我的.phtml文档,该怎么做?(或者$something换一种说法:如何访问我的.phtml文件)


4
如何在phtml magento 2中获取根目录路径?
$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $storeManager = $objectManager->get('\Magento\Store\Model\StoreManagerInterface'); $mediaPath = $fileSystem->getDirectoryRead(\Magento\Framework\App\Filesystem\DirectoryList::MEDIA)->getAbsolutePath(); 它返回媒体路径。如何在phtml页面中获取项目的根路径?

5
如何在.phtml文件中调用辅助方法
尝试在magento 2中进行开发。但是,我没有找到如何在template(.phtml)文件中调用Helper方法的方法。 我想要替换以下代码: $this->helper('modulename/helpername')->methodname(); 如果有人知道,请帮助我。
16 magento2  phtml  helper 

2
在由phtml文件插入的view.phtml中调用静态块
我们正在视图页面中显示文本字段,以检查COD的可用性。 view.phtml echo $this->getLayout()->createBlock('core/template')->setTemplate('checkdelivery/checkdelivery.phtml')->toHtml(); 在view.phtml我们下面的文件中调用。但是我想调用静态块标识符 [identifier code-check]而不是下面的文件。 模板/checkdelivery/checkdelivery.phtml <div class="block block-list block-check-delivery"> <div class="block-title"> <?php $blockLabel = Mage::getStoreConfig('checkdelivery/general/block_title'); ?> <strong><span><?php echo $this->__($blockLabel) ?></span></strong> </div> <div class="block-content" > <br> <input name="zipcode" size="17" type="text" id="zipcode" value="<?php echo Mage::getModel('core/cookie')->get('zip'); ?>" maxlength="10" class="input-text" placeholder="<?php echo $this->__('Enter ZIP Code'); ?>"/> <button type="button" name="zip-check" title="Check" class="button" …

2
如何保持.phtml文件的简洁和整洁?
正如其文件扩展名所示,该.phtml文件允许PHP代码与HTML混合。然而,事实上,你可以不应该被看作是一个执照去野外。 为什么我们仍然看到如此多的.phtml文件到处都是PHP?什么是减少.phtml文件中PHP数量的好方法?
14 php  blocks  template  phtml 

1
Magento 2 Override默认标题模板
我通过扩展Magento/Blank主题创建了自己的主题。 现在想的默认标题模板文件覆盖link.phtml,topmenu.phtml,header.phtml它位于vendor/module-theme/view/frontend/templates进我的主题。 我的主题位于 app/design/frontend/MyModule/MyTheme 因此,请让我知道如何覆盖以及它的结构。

3
Magento 2在成功页面上获取订单总额?
我试图在magento 2的成功页面上获得订单总数,我添加了此代码 <?php $order = Mage::getModel('sales/order')->loadByIncrementId($this->getOrderId()); $totall = $order->getGrandTotal(); ?> 但是下订单后到达成功页面时出现错误,我猜代码适用于magento 1,但不适用于2。我如何在magento 2上也能使用?


4
Magento 2-覆盖基本视图文件
我目前正在开发Magento 2.0主题。我正在尝试更改前端上的Tax类的行为。我需要更改的文件位于app / Code / Magento / Tax / view / base / templates / pricing / adjustment.phtml中。 如何从Magento主题覆盖此视图? 谢谢

2
Magento 2:将变量从控制器操作传递到“视图”
在Magento 1中,如果要将数据从Controller动作传递到“视图”(即,布局中的块,则可以) 通过以下方式将值/对象添加到全局注册表中 Mage::register 运行后直接获取块对象并在获取的块对象上设置数据属性 loadLayout 调用phtml文件中块对象的方法,并使块对象使用模型/数据库层读取以前保存在控制器动作中的数据 在Magento 2中,仍然可以使用块对象方法从数据库中读取数据,这适用于某些类型的操作。然而, Magento 2中不再有全局注册表(或存在?) 现在,布局系统可以通过工厂创建页面对象来工作,并且您无法像在Magento 1中一样获取块引用 在Magento 2中,是否可以将数据从控制器动作直接传递到视图?还是对于Magento勇敢的全新Design Pattern™世界而言,这是否太直接了?如果这是直接模式,那么如果我们要在模板中显示一些计算出的信息,但又不想将该信息存储到有状态系统中(即我们不想将其保存到数据库) 我可以想出几种不同的方法来自己破解这些东西-但我对Magento 2 希望您如何做感兴趣。 注意:我意识到可以使用类似这样的方法在控制器动作中获取块实例 $resultPage = $this->resultPageFactory->create(); $block = $resultPage->getLayout()->getBlock('catalog.wysiwyg.js'); var_dump(spl_object_hash($block)); Magento 2核心代码经常这样做。但是-在控制器对象中获取的块对象似乎与phtml通过$this或在模板中可用的对象不同$block(前者($this似乎是实际呈现模板的对象,而后者($block)似乎是实际呈现模板的对象) Magento块类型的实例)。 #File: path/to/template.phtml var_dump(spl_object_hash($block)); var_dump(spl_object_hash($this)); 我之所以说“似乎是”,是因为如果我在controller action方法中设置数据,则该数据在phtml模板中不可用-如果我比较spl_object_hash上面的结果,则会得到三个不同的哈希值。但是,对于这一切我还是很陌生,因此上面的内容可能是我犯的其他错误-因此,如果您能够在块上设置数据并将其提取到模板中,那么我很想听听!

4
Magento 2在minicart.phtml中获取购物车报价总计
我试图在minicart.phtml中获得购物车报价总额,但我没有运气。我正在注入Magento \ Checkout \ Model \ Cart。 这是我的代码: $this->cart = $cart; $cartQuote= $this->cart->getQuote()->getData(); echo $cartQuote['base_grand_total']; 在我运行了该代码之后,微型购物车会破裂,并且完全从前端消失。 谢谢!

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.