3

URL を生成する際、Shopwareには何らかの「裏技」があるようです。これについて説明してくれる人を探しています。

これは、バックエンドの SEO-router-settings で構成できる変数を使用して SEO-url を生成するための standard-templateのコードです。

{* 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 の構成は、デフォルトでは次のようになります。

ここに画像の説明を入力

とにかく、出力は少し異なります。

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

(すべての大文字は、クライアントのプライバシーのためにここに隠されている、実際の正しいドメイン名、カテゴリ名、および製品名を示しています)

ここでの問題は、SEO-router-options で定義されているように、不要な URL パラメータ「?c=7」です。

最初の質問: URL の末尾にあるこの URL パラメーター「c=7」を省略するにはどうすればよいですか?

このコードをデバッグすると、奇妙なことに遭遇します。次のコードは、実行される用語は同じですが、2 つの異なる URL になります。

ここに画像の説明を入力

ここでの問題は次のとおりです。

  1. {$sArticle.linkDetails|rewrite:$sArticle.articleName}の出力は、このリンクのキャプションとして、href-Attribute と 2 番目の出力で異なります。
  2. href-Attribute 内の{$sArticle.linkDetails|rewrite:$sArticle.articleName}の出力は、望ましくないカテゴリの ID を記述する URL-Parameter を追加します: "?c=7"

2 番目の質問:

同じテンプレートコードがどうしてこんなに違うのでしょうか? 舞台裏で働いている魔法は何ですか?

4

1 に答える 1

3

Shopware バックエンドに精通していると思います。私の答えを簡単に見てください:

  1. 詳細ページの URL から「?c=7」を削除するには:

Seo/ルーターの設定で「URLからCategoryIDを削除=いいえ」に設定してください。次に、キャッシュをクリアします。

  1. 複数のショップが存在するか、他の e コマース システムからショップウェアに移行したと思います。

「s_core_rewrite_urls」テーブルで、これら 2 つのリンク間の接続を確認できます。テーブルをバックアップして空にするだけです。[構成] > [キャッシュ/パフォーマンス] メニュー項目をクリックし、[SEO URL インデックスの再構築] を実行します。

詳細については、https://developers.shopware.com/blog/2015/08/11/the-shopware-seo-engine/をご覧ください。

于 2016-10-20T05:19:11.600 に答える