如何在Shopware中管理SEO-Urls?

时间:2016-10-19 11:24:07

标签: php smarty shopware

似乎 Shopware 背后有一些"魔法"生成网址时,我正在寻找可以向我解释的人。

This is the code标准模板生成带有变量的SEO-urls,可以在后端的SEO-router-settings中配置:

{* Product name *}
{block name='frontend_listing_box_article_name'}
    <a href="{$sArticle.linkDetails|rewrite:$sArticle.articleName}"
       class="product--title"
       title="{$sArticle.articleName|escape}">
        {$sArticle.articleName|truncate:50}
    </a>
{/block}

SEO-router-settings中的配置默认情况下如此:

enter image description here

无论如何,输出差别不大:

http://www.DOMAIN.de/shop/CATEGORYNAME/18/PRODUCTTITLE?c=7

(所有大写字母都显示了真正正确的域名,类别和产品名称,为了我们客户的隐私而隐藏在这里)

这里的问题是URL-Parameter&#34;?c = 7&#34;这不是想要的,应该在SEO-router-options中定义。

第一个问题:如何省略此网址参数&#34; c = 7&#34;在URL的末尾?

当我调试此代码时,我遇到了奇怪的事情。以下代码将生成两个不同的URL,尽管它是相同的术语:

enter image description here

以下是这些问题:

  1. {$ sArticle.linkDetails | rewrite:$ sArticle.articleName} 的输出在href-Attribute和第二个输出之间是不同的,作为此链接的标题。
  2. href-Attribute中 {$ sArticle.linkDetails | rewrite:$ sArticle.articleName} 的输出将添加一个URL-Parameter来描述类别的id,这不是想要:&#34;?c = 7&#34;
  3. 第二个问题:

    相同的模板代码如何如此不同?幕后工作有什么魔力?

1 个答案:

答案 0 :(得分:3)

我确定您熟悉Shopware后端。简而言之,请参阅我的答案:

  1. 要从详细信息页面网址中删除“?c = 7”:
  2.   

    在Seo /路由器设置中设置'从Url删除CategoryID =否'。然后清除缓存。

    1. 我认为存在多个商店,或者您从其他电子商务系统迁移到商店。
    2.   

      您可以在此处看到这两个链接之间的连接   “s_core_rewrite_urls”表。只需备份表&amp;把它弄空了。点击   配置&gt;缓存/性能菜单项,并执行“重建SEO URL   指数”。

      https://developers.shopware.com/blog/2015/08/11/the-shopware-seo-engine/

      提供更多信息