使用Magento 1.14.2
我不确定之前是否有人遇到此问题,但是当我在Magento Enterprise CMS中更新URL密钥时,更改未在树中生效。
示例:当测试页的URL密钥从test更新为test-1时,我仍然可以访问http://test.com/someparent/test.html。尝试加载http://test.com/someparent/test-1.html,它找不到404页面。
到目前为止我的调查:
更新URL密钥时更新cms_page中的标识符字段,但不更新enterprise_cms_hierachy_node(request_url密钥)。
进一步查看代码,发现在app / core / Enterprise / Cms / Model / Hierarchy / Node appendPageToNodes()
if($ node-> getPageExists()){ 继续; } else { $节点 - > addData($ pageData) - > setParentNodeId($节点 - >的getId()) - > unsetData($这 - > getIdFieldName()) - > setLevel($ node-> getLevel()+ 1) - > setSortOrder($中将sortOrder) - > setRequestUrl($ node-> getRequestUrl()。'/'。$ page-> getIdentifier()) - > setXpath($ node-> getXpath()。'/') - >保存(); }
因此,如果页面节点存在,它什么也不做,继续前进。如果不存在,则插入新记录。
只是想知道是否有其他人遇到过此问题,您是如何解决此问题的?
答案 0 :(得分:0)
按照以下步骤操作,您将将其关闭。
使用mysqldump命令在.sql文件中备份数据库
在数据库中截断表 core_url_rewrite
现在刷新magento主页。
检查添加到 core_url_rewrite 表中的行的天气。
你完成了!