1. ホーム
  2. php

[解決済み] Prestashopでカテゴリページをトップページに設定する方法

2022-01-31 01:44:46

質問

私は、次のような問題を抱えています。 http://example.com/index.php をトップページとして使用します。 私のカテゴリページのURLは http://example.com/index.php?id_category=10&controller=category(カテゴリー

さて、私のホームページをカテゴリーページにリダイレクトする必要があります。 環境設定 > SEO & URL's > Set Shop URL > Base URIで試してみました。 index.php?id_category=10&controller=category として

現在、ページは私のカテゴリURLにリダイレクトされていますが、ページが開きません。 URLは次のように表示されます。 http://example.com/index.php?id_category=10&controller=category/index.php。 ?

解決方法は?

やり方が間違っています。次のように操作してください。

A) 簡単ですが、お勧めできない方法です。

1) Controllers/IndexController.phpを開きます。

2) 関数 initContent を以下のように変更します。

public function initContent()
{

   parent::initContent();
   Tools::redirect('index.php?id_category=10&controller=category');
   $this->context->smarty->assign('HOOK_HOME', Hook::exec('displayHome'));
   $this->setTemplate(_PS_THEME_DIR_.'index.tpl');

}

B) 推奨される方法

1) Controllers/IndexController.php を override/Controllers/ フォルダにコピーします。 2) コピーしたファイルを開き、以下のように編集します。

class IndexController extends IndexControllerCore 
{

    public function initContent()
    {
       Tools::redirect('index.php?id_category=10&controller=category');

    }
}

3) ファイルを保存し、cacheフォルダに移動します。検索 class_index.php もしあれば、それを削除してください。その後、正常に動作しているかどうかサイトを確認してください。

注意事項

1) 上記のコードはあなたにアイデアを与えるためのもので、うまくいくかもしれないし、いかないかもしれません。あなたの必要性に応じて調整してください。

2) Prestashopの最新バージョンでは、すべてのクラスはclass_index.phpファイルにインデックスされているので、コントローラやクラスのオーバーライドを行った場合、そのファイルを削除するまで動作しないことがあります。サーバーに新しい要求がなされたとき、PSは自動的にそのファイルを再生成します。

お役に立てれば幸いです。