在冲突的URL路径冲突的情况下,有哪些规则管理哪个实体“赢” -- url 领域 和 indexing 领域 和 overrides 领域 和 conflict 领域 magento 相关 的问题

What are the rules that govern which entity “wins” in the case of conflicting URL paths


简体版||繁體版
2
vote

问题

中文

如果多个实体(例如类别,产品,CMS页面和模块FrontName)所有尝试使用相同的SEF URL,那么Magento用于决定哪些算法或进程将保存在中core_url_rewrite 具有所需的 request_path ,它将附加的后缀解析冲突(例如'sale-123.html')。

提出问题另一种方式,如果一个CMS页面和类别都要求"销售" 作为他们的URL,这将获胜?

english

If multiple entities (e.g. a category, a product, a CMS page and a module frontname) all attempt to use the same SEF URL, what is the algorithm or process that Magento uses to decide which will be saved in core_url_rewrite with the desired request_path, and which will have suffixes appended to resolve the conflict (e.g. 'sale-123.html').

To ask the question another way, if a CMS page and category both ask for 'sale' as their URL, which will win?

           

回答列表

1
 
vote
vote
最佳答案
 

艾伦风暴写了一篇关于它的长篇文章: http://alanstorm.com/magento_dispatch_rewrites_intro

并缩短一点点,它是惩罚(?)

  // Go through all found records and choose one with lowest penalty - earlier path in array, concrete store     $mapPenalty = array_flip(array_values($path)); // we got mapping array(path => index), lower index - better     $currentPenalty = null;     $foundItem = null;     foreach ($items as $item) {         $penalty = $mapPenalty[$item['request_path']] << 1 + ($item['store_id'] ? 0 : 1);         if (!$foundItem || $currentPenalty > $penalty) {             $foundItem = $item;             $currentPenalty = $penalty;             if (!$currentPenalty) {                 break; // Found best matching item with zero penalty, no reason to continue             }         }     }   
 

Alan Storm wrote a long blog article about it: http://alanstorm.com/magento_dispatch_rewrites_intro

And to shorten it a little bit, it is all around penalty (?)

// Go through all found records and choose one with lowest penalty - earlier path in array, concrete store     $mapPenalty = array_flip(array_values($path)); // we got mapping array(path => index), lower index - better     $currentPenalty = null;     $foundItem = null;     foreach ($items as $item) {         $penalty = $mapPenalty[$item['request_path']] << 1 + ($item['store_id'] ? 0 : 1);         if (!$foundItem || $currentPenalty > $penalty) {             $foundItem = $item;             $currentPenalty = $penalty;             if (!$currentPenalty) {                 break; // Found best matching item with zero penalty, no reason to continue             }         }     } 
 
 

相关问题

1  将jQuery滑块添加到Magento主题  ( Adding jquery slider into magento theme ) 
我正在尝试将一个jquery滑块添加到我的magento主题中。滑块在我拥有的主题的HTML中完美地工作。但是,我在将它集成到Magento主题中的问题可能是由于jQuery与Magento的原型JS冲突。这就是我到目前为止所做的事情: 我通过jQuery库直接链接添加了jQuery文件,然后添加了noconflic...

3  意大利语翻译。税收不起作用  ( Italian translation csv for tax not working ) 
我们在我们的洋养坞有一个意大利网站。所有翻译都是从我们的主题的 locale / it_it / translate.csv 文件工作,除了 "Tax","IVA" 。在意大利网站上,税正在翻译成 tasse ,这是似乎来自 app / locale / it_it / 的默认的magento翻译。 我已经审查了这...

0  更新模块后的帮助冲突  ( Helper conflict after update of module ) 
最近更新 Amasty Shipping & Payment By Customer Groups 插件,它停止工作。 在 n98-magerun 99887661 中运行冲突后,我收到了这样的冲突: 任何人都可以指导我如何善良解决这个问题?感谢您的关注。 它们都扩展 Mage_Payment_Helper...

4  Magento 2夹夹主题模块与其他主题相互冲突,在同一Magento Installtion上的另一个网站上安装了相互冲突  ( Magento 2 cleversoft theme modules conflicting with other theme instaled on anot ) 
晚上好, 我在Magento 2上配置了两个网站2.并将两个不同的主题设置为网站。第一个主题运行正常,但是当我安装了另一个网站上的另一个主题时的另一个主题,那么主题冲突会通知。 我发现在主题目录下定义的缩放器_base模块与另一个主题相冲突,因为它们无法为特定网站设置该模块的选项。它与产品页面上的第一个网站的JS相互...

3  Magento定制产品页面价格模板冲突Upsell产品价格[关闭]  ( Magento custom product page price template conflict upsell products price ) 
关闭。这个问题是 off-topic 。它目前不接受答案。 想要改进这个问题?更新问题,所以它是对于magento堆栈交换。 关闭 6年前。 ...

2  在冲突的URL路径冲突的情况下,有哪些规则管理哪个实体“赢”  ( What are the rules that govern which entity wins in the case of conflicting ur ) 
如果多个实体(例如类别,产品,CMS页面和模块FrontName)所有尝试使用相同的SEF URL,那么Magento用于决定哪些算法或进程将保存在中core_url_rewrite 具有所需的 request_path ,它将附加的后缀解析冲突(例如'sale-123.html')。 提出问题另一种方式,如果一个C...

9  Supee Patch 8788安装后管理面板中的问题  ( Issue in admin panel after supee patch 8788 installation ) 
我有 magento ce 1.9.2.4 与 patches一起安装(5377,1533,4788等。几乎所有补丁)。 这个问题还揭示了在他们的自定义部分中涉及图像上传的任何自定义模块中可能发生的问题,而不是仅仅是核心Magento问题。 现在我通过命令行安装了最新的补丁8788后,我无法打开我的自定义模块的"...

4  Magento Downloader升级冲突1.9.2.0> 1.9.2.2  ( Magento downloader upgrade conflict 1 9 2 0 1 9 2 2 ) 
我正在尝试从版本1.9.2.0到1.9.2.2的magento。 不幸的是,安装/更新期间存在冲突错误。 例如,当我尝试升级包时,我收到以下错误: Checking dependencies of packages Already installed: community/Lib_Js_Calendar 1.51...

9  如何防止Magento中的模块重写类冲突  ( How to prevent module rewrite class conflict in magento ) 
我在Magento OnePage结账中有一个类重写问题,因为我在本地代码池中拥有自定义模块以及社区代码池中的第三方扩展,都延伸相同的类... 我试图将依赖节点添加到 modulea_name.xml 文件的一个模块,然后在单节点中扩展 modelb 的类 modelb < / strong>文件,但这没有工作。...

0  jquery与elastislide.js和prototype.js冲突  ( Jquery conflict with elastislide js and prototype js ) 
我在这里,我的噩梦冲突问题。 这个问题似乎是一个重复的,但我已经阅读了jQuery后建议使用没有冲突的所有其他答案,但它不起作用。 任何人都可以简要描述为什么以及我们使用jQuery以及如果有2个jQuery和原型版本。 目前,我正在尝试解决以下问题。它的感觉就像 js / jquery.elastislide.js...




© 2022 it.wenda123.org All Rights Reserved. 问答之家 版权所有