私は現在、衣類のサイトを対象としたPrestashop 1.7.1.0モジュールを開発中です。私はという正確なページ名を、に 'index'、 'Women'、 'Tops'、 'T-shirts'、などのユーザーの現在のブラウジングに取得する必要があります。 これにSmartyグローバル変数を使用しようとしましたが、このバージョンでは削除されているようです。Prestashop 1.7モジュールに現在のページ名を取得
いずれかの提案&ヘルプは本当に感謝します。
私は現在、衣類のサイトを対象としたPrestashop 1.7.1.0モジュールを開発中です。私はという正確なページ名を、に 'index'、 'Women'、 'Tops'、 'T-shirts'、などのユーザーの現在のブラウジングに取得する必要があります。 これにSmartyグローバル変数を使用しようとしましたが、このバージョンでは削除されているようです。Prestashop 1.7モジュールに現在のページ名を取得
いずれかの提案&ヘルプは本当に感謝します。
{$smarty.server.HTTP_HOST}{$smarty.server.REQUEST_URI}
あなたは、私がその作業...
FrontControllerロードページのオプションを考えて、このコードを試してみて、それを割り当てることができます。
あなたは、{$ページ}
Array
(
[title] =>
[canonical] =>
[meta] => Array
(
[title] => 'title'
[description] =>
[keywords] =>
[robots] => index
)
[page_name] => 'page name is here'
[body_classes] => Array
(
[lang-es] => 1
[lang-rtl] =>
[country-ES] => 1
[currency-EUR] => 1
[layout-full-width] => 1
[page-] => 1
[tax-display-enabled] => 1
[pm_details_layout1] => 1
[header_static] => 1
)
[admin_notifications] => Array
(
)
)
私はSmartyの機能は、私のモジュール上で動作させることができなかったとTPLでそれを得ることができますが、私はPHPの$ _SERVER配列機能を使用してシンプルなソリューションをコーディングすることができました。私は他の人の参照のために以下のコードを投稿します。
$protocol = null;
if (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on")
{
$protocol = 'https';
}
else
{
$protocol = 'http';
}
$port = "";
if ($_SERVER["SERVER_PORT"] != "80")
{
$port = ":".$_SERVER["SERVER_PORT"];
}
$currentPageUrl = $protocol."://".$_SERVER['SERVER_NAME'].$port.$_SERVER['REQUEST_URI'];
echo '<b>Current Page URL : </b>' . $currentPageUrl . "<br>";
TPLでこれを取得するには、これを行うには1.7バージョンの新変数は次のとおりです。
{$page.page_name}
の代わりに:
{$page_name}
あなたは、任意のTPLでこれを使用することができますあなたのモジュール
はそれがTPLでこれを取得するには、あなたに
をの助けを願って、次のように、これを行うには1.7バージョンの新変数は次のとおりです。
{$page.page_name}
Instead of:
{$page_name}
あなたのモジュールのいずれかのTPLでこれを使用することができます。
それは私が作成したPrestaShopの1.7モジュールで私の作品は、しかし、私は他のグローバルSmartyの変数を取得することはできません、すなわちshop_name、lang_iso、等...
怖い私はSmartyの持つ任意の運を持っていませんでしたコード。 私はphp $ _SERVER配列自体を使ってこれを解決する方法を実装しました。私は他の人が参照するために答えとしてここに掲示します。 –