Magento

Magento电子商务平台用户的问答

3
使用AJAX在类别列表中加载产品视图
我试图使用Ajaxify使用AJAX在类别列表页面中加载产品视图块。一切正常,唯一的问题是选项框(childhtml“ container1”)未正确加载。它不显示选项。 有没有人有经验,也许尝试过类似的东西?我在控制器中使用设置活动产品 $productId = (int) $this->getRequest()->getParam('product_id'); Mage::helper('catalog/product')->initProduct($productId, $this); 在渲染布局之前。 我认为这与将选项添加到catalog.xml的其他部分中的视图有关。 [...] <PRODUCT_TYPE_configurable translate="label" module="catalog"> <label>Catalog Product View (Configurable)</label> <reference name="product.info"> <block type="catalog/product_view_type_configurable" name="product.info.configurable" as="product_type_data" template="catalog/product/view/type/default.phtml"> <block type="core/text_list" name="product.info.configurable.extra" as="product_type_data_extra" translate="label"> <label>Product Extra Info</label> </block> </block> </reference> <reference name="product.info.options.wrapper"> <block type="catalog/product_view_type_configurable" name="product.info.options.configurable" as="options_configurable" before="-" template="catalog/product/view/type/options/configurable.phtml"/> </reference> </PRODUCT_TYPE_configurable> [...] 但我不确定确切的问题是什么。 我希望有人能指出我正确的方向。 …
14 ce-1.7.0.2  ajax 

5
按非固定属性过滤产品集合
我正在执行以下操作: $productCollection = Mage::getModel('catalog/product') ->getCollection(); $productCollection ->addAttributeToFilter('my_attribute', 1); my_attribute 不在平面表中,但已启用平面表。 我不断获得完整的收藏。 原因似乎在\Mage_Catalog_Model_Resource_Product_Collection::addAttributeToSelect: $columns = $this->getEntity()->getAttributeForSelect($attributeCode); No $this->getEntity()是Mage_Catalog_Model_Resource_Product_Flat获取平面字段的实例-如果找不到,则返回null。 什么是向集合过滤器添加非扁平属性的干净方法? 就我而言,将属性添加到平面表是没有意义的。

1
自定义总订单和其他信息
想要以下总计样式时checkout/cart: 折扣 小计 运费或信息文字:“不含运费” 附加文字:“ 30欧元起免运费”(始终显示) 累计 含税 税 问题 即使我们在后端正确设置了“ Checkout Totals Sort Order ”,总计也始终显示在最后 如何在总计之间放置任何其他信息块? 如果不显示信息文本,则如何显示信息文本(装运)
14 cart  template  totals 

4
在phtml模板上实例化getModel类是否很好?
这是有关Magento中良好编程习惯的问题。 我需要在缩略图中显示(在类别产品列表中)该产品及其相关产品。所以我mypackage/mytheme/template/catalog/product/list.phtml用这样的东西编辑 <?php $related=$_product->getRelatedProductIds(); if(count($related)>0){ echo '<div class="a'.$ap.'"></div>'; echo '<div class="li_p"><ul>'; foreach($related as $rela){ $rela_nom=Mage::getModel('catalog/product')->load($rela); echo '<li><a href="'.$rela_nom->getProductUrl().'"> <img src="'.$this->helper('catalog/image')->init($rela_nom, 'small_image')->resize(20).'" width="20" height="20"> </a><li>'; } echo '</ul></div>'; } ?> 而且效果很好。 但是我的问题是:在phtml文件上实例化模型类是否正确? 如果不是,那么实现此功能的最佳方法是什么?我的意思是,哪个文件最好编辑,哪个类最好添加,在哪里?帮手 您能提供一个例子还是让我看看哪些文件最好编辑。

2
更改分层导航的布局
我有一个分层的导航,客户想要<select/>字段而不是一长串链接。 我考虑过,如果过滤器的名称/ ID匹配,则只用观察者更改模板。 有更好的想法或建议吗?更改模板的替代方法,可能是覆盖/重写块,还是仅更改两个过滤器的块类? 什么事件用于更改模板? 然后,我遇到了与此处相同的问题/programming/14524791/magento-enable-or-disable-a-module-in-code/14529629,因为我有一个更改布局内容的观察者。这仅与主题相关。因此,在运行更新之前检查主题可能是一个好主意吗?

2
添加CMS和类别使用的自定义布局以及自定义模块的问题
我的商店中有一个类别,需要的布局与标准Magento布局完全不同。因此,我创建了一个新的1column.phtml副本并将其重命名,并进行了一个小的更改以进行测试。 现在的问题是自定义布局没有显示。我创建了一个模块(它在“管理”>“配置”>“高级”概述中可以看到)。 我的文件和内容如下: app / etc / modules / Test_Page.xml <?xml version="1.0"?> <config> <modules> <Test_Page> <active>true</active> <codePool>community</codePool> <version>0.1.0</version> <depends> <Mage_Page /> </depends> </Test_Page> </modules> </config> app / code / local / Test / Page / etc / config.xml <?xml version="1.0"?> <config> <modules> <Test_Page> <version>0.1.0</version> </Test_Page> </modules> <global> <page> <layouts> <homepage …

2
在Magento CE上使用Varnish的必要修改
我正在努力寻找任何有效的例子,说明需要哪些修改才能使Varnish缓存Magento站点。 理想情况下,我想要一系列任务,例如禁用/启用的东西以及在哪里寻找它们。具有这些更改旨在使用的Varnish配置也是很好的。 Magento性能指南讨论了很多有关Varnish的内容,因此我知道它已经完成过,但是实际上并没有说明如何使它工作。


2
结帐表格-如何在一个类中包装多个元素-Magento 2
如何在div中包装两个结帐表单元素? 例如,假设我想将这些国家/地区和邮政编码/邮政编码字段包装在类别为的div中,该example-class怎么做? 我尝试过的 我试图通过将它们添加为的子代来实现这一点,<item name="shippingAddress" xsi:type="array">但这只会在前端导致错误。尽管我确实得到了一个空白文本输入,里面没有标签.example-class,但是前端还是有错误。 错误: Cannot read property 'indexedOptions' of undefined 这是我的快速尝试: Magento_Checkout / web / template / shipping-address / form.html <div id="shipping-new-address-form" class="fieldset address"> <div class="testing"> <!-- ko foreach: getRegion('example-class') --> <!-- ko template: getTemplate() --><!-- /ko --> <!--/ko--> </div> <!-- ko foreach: getRegion('additional-fieldsets') --> <!-- ko …

1
Magento 2:如何为管理网格加载预定义的过滤器值?
我想使用预定义的过滤器在管理员中创建指向自定义网格的链接。该网格由一个UI列表组件(XML)组成,并具有一个称为的列form_id,其设置如下: <column name="form_id"> <argument name="data" xsi:type="array"> <item name="config" xsi:type="array"> <item name="filter" xsi:type="string">textRange</item> <item name="label" xsi:type="string" translate="true">Form id</item> </item> </argument> </column> 网格工作正常。我可以应用过滤器,并且一切正常。使用XHR请求可以很好地更新网格。 但是...我希望能够在某个时候预先定义过滤器的值。例如,我希望能够在按ID = 3进行过滤时打开网格。 因此,我已经尝试使用与XHR-request相同的URL参数加载页面,以及仅添加所需的参数: ?namespace=form_response_listing&search=&filters[placeholder]=true&filters[form_id][from]=3&filters[form_id][to]=3&paging[pageSize]=20&paging[current]=1 以及: ?filters[form_id][from]=3&filters[form_id][to]=3 两者都没有成功。那么,如何使用URL预填充过滤器? 编辑: 我不确定这是否与其他问题重复(如下面的评论中所述)。就我而言,我将虚拟类型用作网格的集合: <virtualType name="Vendor\Module\Model\ResourceModel\Response\Grid\Collection" type="Magento\Framework\View\Element\UiComponent\DataProvider\SearchResult"> <arguments> <argument name="mainTable" xsi:type="string">vendormodule_form_response</argument> <argument name="resourceModel" xsi:type="string">Vendor\Module\Model\ResourceModel\Response</argument> </arguments> </virtualType> 因此,并不是我的网格小部件具有物理的Block类,而是纯粹使用列出XML的UI组件创建的。 不过,无论如何,我都会检查所提到的问题是否对我的用例有用。
14 magento2  admin  grid  filter 

4
如何在v2.1中覆盖块
我正在尝试覆盖Magento 2.1中的Topmenu块,但找不到任何指导。我在这里和其他地方找到的所有内容似乎仅适用于2.0版,该版本似乎使用了不同的文件夹结构,或者仅包含部分代码示例,希望我已经知道它们的适当上下文(我不知道)。 我当前的自定义主题文件夹结构为app/design/frontend/Vendor/theme_name。在其中,我有注册,主题和作曲家文件以及各个模块(例如Magento_Theme和)的文件夹Magento_Search。 据我了解,我需要etc/di.xml从如下文件开始,从这里编辑: <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> <preference for="Magento\Theme\Block\Html\Topmenu" type="[Namespace]\[Module]\Block\Html\Topmenu" /> </config> 我也了解下一步是添加一个Block/Html/Topmenu.php类似下面的文件(同样从上面的源代码编辑): namespace [Namespace]\[Module]\Block\Html; class Topmenu extends \Magento\Theme\Block\Html\Topmenu { protected function _addSubMenu($child, $childLevel, $childrenWrapClass, $limit) { } } 但是,我不清楚我应该用于[Namespace]和以及[Module]将这些文件放在何处。我尝试使用供应商和主题名称,并将etc和Block文件夹放在中app/design/frontend/Vendor/theme_name,以及将它们放在中app/design/frontend/Vendor/theme_name/Magento_Theme,将名称空间修改为Vendor\theme_name\Magento_Theme\Block\Html,但都没有任何效果。 如果有人可以帮助您确切地解释在2.1版中重写Topmenu块(以及通过推断任何其他块)需要做的事情,我将不胜感激。 附录 我尝试了Khoa TruongDinh的回答,但没有任何效果。我使用了以下文件: app/code/Vendor/MagentoTheme/Block/Html/Topmenu.php <?php namespace Vendor\MagentoTheme\Block\Html; class Topmenu extends \Magento\Theme\Block\Html\Topmenu { protected function _addSubMenu($child, $childLevel, $childrenWrapClass, …

6
Magento 2:如何在注册表中显示地址字段?
我想在客户注册表格中显示地址字段(以保存为默认帐单地址)。我知道如何在Magento 1中进行操作。但是我对Magento 2感到震惊。在此之前有人做过吗? 像magento 1中一样的任何xml文件更新 <customer_account_create> <reference name="customer_form_register"> <action method="setData"><key>show_address_fields</key><value>1</value></action> </reference> </customer_account_create>

3
Magento2-如何在首页上显示阻止内容
如何在首页上显示屏蔽内容? 在没有示例数据的情况下安装了magento2之后,我选择了“ Magento Luma”主题并添加了“ Home Page Block”块,并从示例存储中复制了代码。 但首页上没有任何内容,如何像示例商店一样在首页上显示我的cms块? 我的家 样品店

5
Magento 2开发人员模式不会自动重新生成静态文件
我在开发人员模式下安装了Magento 2.0.2,但我仍然想不出在我更改CSS时如何强制它重新生成静态视图文件。 我通过运行来验证我处于开发人员模式 php bin/magento deploy:mode:show 在此页面上说开发人员模式禁用了静态视图文件缓存,但对我而言并非如此。 我尝试编辑此解决方案中di.xml提到的,但是它并没有改变Magento的行为。 如何告诉magento自动重新生成静态视图文件?

4
在Magento 2中定位/排序CSS文件的正确方法是什么?
在Magento 2 DevDoc中,它说 要包含CSS文件,请在布局文件的<head>部分中添加<css src =“ <path> / <file>” media =“ print | <option>” />块。 但是,它没有说明如何影响CSS文件的顺序。如果我们以自定义主题的方式将CSS文件添加到具有父主题的自定义主题中,则结果是文件被添加到<head>部分的顶部,并且在其下面添加了许多其他CSS文件,这意味着它们的优先级是相当高的低,我们不能轻易地从父主题或扩展中覆盖规则。 Magento 1中存在类似的问题,并且有变通办法。有些比较干净,有些则少一些。 在Magento 2的<head>底部订购自定义主题的CSS文件的最佳方法是什么-如果可能,请遵守自定义主题的Magento 2布局准则。
14 magento2  layout  css  head 

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.