Questions tagged «frontend»

表示与前端开发,配置和管理有关的问题

2
Magento 2-如何将自定义字段添加到结帐并发送
所有教程都只涉及添加字段,但是该文件的保存值被跳过#mindblown。我不知道为什么,这是添加任何字段或表单的最重要部分。 我尝试关注Magento文档,但是...太糟了。 出于测试目的,我尝试将其他字段添加到收货地址,只是忽略自定义范围,自定义数据集,自定义数据提供程序和其他未记录的内容,这对我来说太奇怪了。 我不知道这种形式是“静态”还是“动态”。对我来说,所有结帐表单都是在KnockoutJS模板之上动态构建的,但是...当我尝试“静态”方式时,我可以在此处添加输入(所以它是静态表单还是不是静态表单?)。 首先,我尝试调试为什么Knockout可观察对象在解析和发送数据时只会忽略我的字段。我发现我的字段的name参数为空,但是我无法解决此问题。IMO应该通过inputName参数将其传递给UI组件渲染器,与其他任何选项(例如disabled,placeholder等等)相同(其他参数工作正常,我检查了从XML生成的配置,以检出模块初始化,对我来说很不错) 其次,我尝试使用“动态”方式来创建插件LayoutProcessor并传递完全相同的数据……现在我具有names 字段,但是发送仍然根本不起作用。 深入研究JS之后,我发现准备此请求的内容保存在module-checkout/view/frontend/web/js/model/shipping-save-processor/default.js文件中,具体取决于在module-checkout/view/frontend/web/js/model/quote.js哪里定义/创建了可观察的观察项。 我终于以某种方式module-checkout/view/frontend/web/js/model/address-converter.js更新了这个可观察变量,并依赖于module-checkout/view/frontend/web/js/model/new-customer-address.js,在那里我终于找到了一些有趣的配置选项-所有地址字段的列表。 当我在此处添加字段时,脚本开始解析并发送它们,OFC得到500,b / c后端无法识别它们……(不要问,我不是后端开发人员) 所以这是我的问题: 这是处理这种类型的自定义的正确方法吗?(b / c对我来说很奇怪) 如何发送与新地址无关的字段的值?我在任何地方都没有看到类似的配置。就我而言,我想发送订单注释(文本区域)和发票请求(复选框)。两者都不应该另存为地址,有些用户可能想要保存此地址以备将来使用。 是否有关于“静态”和“动态”表格的文档或一些示例/比较?值得这样思考吗? 附加的存在性问题: 为什么如此不一致?为什么我必须在XML / PHP文件中定义大量参数,而Magento根本只能呈现输入,然后我必须自己处理所有事情?


2
在Magento2中,什么是<script type =“ text / x-magento-init”>?
我是Magento2的新手,我们的组织刚刚获得了EE许可证。我已经将其安装在本地计算机上,并且默认模板吐出了与HMTL混合的以下内容: &lt;script type="text/x-magento-init"&gt; { "*": { "Magento_Ui/js/core/app": { "components": { "customer": { "component": "Magento_Customer/js/view/customer" } } } } } &lt;/script&gt; 像 &lt;script type="text/x-magento-init"&gt; { "*": { "Magento_Ui/js/core/app": { "components": { "messages": { "component": "Magento_Theme/js/view/messages" } } } } } &lt;/script&gt; 这与KnockoutJS或有关RequireJS吗?这些调用是什么,这个新的脚本标签是什么&lt;script type="text/x-magento-init"&gt;

6
Magento 2中的清除主题/ CSS缓存
在为Magento 2商店设置主题时,建议的清理缓存的方法是什么? 我编辑.less文件,然后我现在做 rm -rf pub/static/frontend/* var/view_preprocessed/ var/*cache/* 但这似乎是蛮力方法。 php bin/magento cache:flush --all 似乎做不到。 有更好的吗?

4
前端的活动站点空白或继续加载,永不加载
我在magento中面临着最奇怪的问题。我们正在使用1.9.0版本。 从过去的2个月开始,对于使用过的浏览器,我们的实时网站“空白”或“继续加载”。意味着在此浏览器中,我们多次访问了该网站。 在某些浏览器中,它的工作正常。在一些显示空白。 但后端在所有浏览器中都能正常运行。 我们在chrome,mozilla,opera和所有其他浏览器中都遇到问题。 1)如果我们清除浏览器的历史记录[缓存和cookie],则无法正常工作。 2)如果我们在私有窗口中打开相同的站点,它将正常工作。 3)如果我们在新安装的浏览器中打开该站点,则该站点将工作一段时间。使用该网站后再次空白。 4)如果我们清除var / session文件夹,它将在一段时间内开始对所有浏览器起作用。再次网站空白。 5)有时候,网站会一直处于加载状态,并且永远不会加载... 我检查了system.log和exception.log。但似乎没有与此相关的错误。我们将https用于安全页面。即使我们为此站点提供了实时的Andriod应用程序。有时我们会出现致命错误: **Fatal error**: Allowed memory size of 536870912 bytes exhausted (tried to allocate 85 bytes) in /lib/Zend/Db/Statement/Pdo.php or lib/Varien/Object.php or /lib/Varien/Db/Select.php or app/code/core/Mage/Core/Model/Config.php 我们在php.ini中设置memory_limit = 1512 Mb 在.htaccess中,我们有以下文件。 php_value memory_limit 1512M php_value max_execution_time 18000 我们对此没有评论: ini_set('display_errors', 1); 但前端未显示任何错误。这是apache错误日志: …
23 cache  frontend  cookie 

3
_module.less和_extend.less之间的区别
使用_module.less和扩展主题之间有什么区别_extend.less?扩展模块/主题的最佳实践是什么? 我首先想到的是,_module.less在设计新模块的样式以及_extend.less扩展模块时最好使用。但是Luma _module.less在扩展空白主题时会使用,以使理论脱颖而出。 我看到的它们之间的唯一区别_module.less是在响应库之前导入,以及_theme.less在_extend.less它们之后导入的位置。 这是它们导入的顺序 vendor/magento/theme-frontend-blank/web/css/styles-l.less // // Blank theme desktop styles // _____________________________________________ // These desktop styles are added to mobile // // Global lib + theme styles // --------------------------------------------- @import '_styles.less'; @import (reference) 'source/_extends.less'; // // Magento Import instructions // --------------------------------------------- //@magento_import 'source/_module.less'; // Theme modules //@magento_import 'source/_widgets.less'; …

2
LESS lib-css mixin的目的是什么?
该.lib-css()混入在Magento的2 LESS文件大量使用。但是其目的尚不明确,mixin定义未提供任何有用的文档: // //添加任何CSS属性 // --------------------------------------------- .lib-css( @_属性, @_值, @_prefix:0 )何时(@_prefix = 1) 而不是(@_value ='') 而不是(@_value = false) 而不是(extract(@_ value,1)= false) 而不是(extract(@_ value,2)= false) 而不是(extract(@_ value,3)= false) 而不是(extract(@_ value,4)= false) 而不是(extract(@_ value,5)= false){ -webkit-@ {_ property}:@_value; -moz-@ {{property}:@_value; -ms-@ {_ property}:@_value; } .lib-css( @_属性, @_值, @_prefix:0 )不在(@_value ='') 而不是(@_value = …

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


2
Magento尝试在前端的事件观察器中保存产品时失败?
我有一个绑定到事件观察器的函数 要求之一是,当它遍历订单项数据时,如果某个产品属性为空,则发出请求以通过单独的模型获取特定数据(正常工作)。 问题代码基本上可以归结为 foreach ($order-&gt;getAllItems() as $key =&gt; $item) { /** @var Tantor_Catalog_Model_Product $productData */ $productData = $item-&gt;getProduct(); $_item = Mage::getModel('catalog/product')-&gt;load($productData-&gt;getId()); $_item-&gt;setNetsuiteItemIid('foo'); $_item-&gt;save(); } 但是Magento抛出了一个例外 2014-03-05T21:14:14+00:00 ERR (3): exception 'Exception' with message 'Warning: Invalid argument supplied for foreach() in /var/www/html/app/code/core/Mage/Eav/Model/Entity/Abstract.php on line 1180' in /var/www/html/app/code/core/Mage/Core/functions.php:245 Stack trace: #0 /var/www/html/app/code/core/Mage/Eav/Model/Entity/Abstract.php(1180): mageCoreErrorHandler(2, …

2
如何对在管理员中显示的类别进行排序?
这是代码: $category = Mage::getModel('catalog/category')-&gt;load(3); $subCats = Mage::getModel('catalog/category')-&gt;load($category-&gt;getId())-&gt;getChildren(); $subCatIds = explode(',',$subCats); $currentUrl = Mage::helper('core/url')-&gt;getCurrentUrl(); 请指教,谢谢!
15 frontend 

2
合并CSS或JS时,会为每种页面类型生成一个新文件
我们有很多小的CSS和JS文件,启用合并似乎是一个不错的选择。 每个页面(主页,类别页面,产品详细信息页面)上都会使用许多CSS和JS文件。 每当我们看到在每个页面上再次加载了不同的合并文件时,即使包含的CSS也必须重叠。 我们如何避免这种情况并重用更多数据?

2
从后端在前端自动登录
请参阅以下情形。 我有一些自定义模块,允许前端用户对某些自定义实体执行某些操作。(细节不是很重要)。 要求管理员应该能够使用客户帐户(没有密码)在前端登录,并能够为客户执行这些操作。 由于您不能使用后端的前端会话,并且我不想为前端创建永久的自动登录链接,因为这可能是一个很大的安全漏洞,这就是我到目前为止所做的。 为客户实体添加一个空属性。(叫它login_key) 在客户编辑页面的后端添加一个按钮,该按钮重定向到管理页面,在该页面中生成一个随机字符串并将其保存在属性中login_key。 在同一操作中,我将管理员重定向到这样的前端URL autologin/index/index/customer_id/7/login_key/ajkshdkjah123123(在上一步中生成的值)。 在前端网址中,如果客户ID与login_key特定客户匹配,则我在会话中设置了客户对象(如已登录)并删除了login_key该对象,因此该网址将来将无法使用。 这可以正常工作。我的意思是,我以所选客户的身份登录,并且用于自动登录的链接第二次不起作用。 不利的一面是,如果2个管理员大约同时单击“自动登录”按钮,则一个人将无法登录,但这是可以接受的风险。 我主要担心的是,这也可能是一个(不是那个)重大的安全问题。有人可以看到这种方法有问题吗?还是建议一个更好的? 可以忽略客户帐户可以由网站分隔的事实。这并不重要,也可以轻松管理。


5
Magento2:修改CSS文件的最佳做法
我想修改css文件pub/static/frontend/Magento/luma/en_US/css/styles-l.css。 最初,此文件不存在于pub / static文件夹中,并且存在于 vendor/magento/theme-frontend-blank/web/css/styles-l.less (it's styles-l.less) 当我使用来分配静态内容时php bin/magento setup:static-content:deploy,会在pub / static中创建与之相关的2个文件。 1. pub/static/frontend/Magento/luma/en_US/css/styles-l.less 2. pub/static/frontend/Magento/luma/en_US/css/styles-l.css 我是一名支持开发人员,在开发模块时,我倾向于删除pub / static中存在的任何内容(.htaccess除外)。所以对我来说,直接修改似乎不是最好的选择pub/static/frontend/Magento/luma/en_US/css/styles-l.css。 在这种情况下,修改上述CSS文件的最佳做法是什么? 1.我应该修改pub/static/frontend/Magento/luma/en_US/css/styles-l.less还是 2.我的理解是错误的,因为我可以删除pub/static(在开发过程中)所有内容,因此我应该修改pub/static/frontend/Magento/luma/en_US/css/styles-l.css而不是删除它。

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.