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 になります。
ここでの問題は次のとおりです。
- {$sArticle.linkDetails|rewrite:$sArticle.articleName}の出力は、このリンクのキャプションとして、href-Attribute と 2 番目の出力で異なります。
- href-Attribute 内の{$sArticle.linkDetails|rewrite:$sArticle.articleName}の出力は、望ましくないカテゴリの ID を記述する URL-Parameter を追加します: "?c=7"
2 番目の質問:
同じテンプレートコードがどうしてこんなに違うのでしょうか? 舞台裏で働いている魔法は何ですか?