Magento アップデート後にブロックが機能しない
-
28-09-2020 - |
質問
最近、Magento 1.5.1 から Magento 1.9.2.3 にアップグレードしたところ、ウェブショップ上のブロックが機能しなくなっていることに気付きました。「Bestsellers」という静的ブロックがあり、そのブロックには次のコードが含まれています。
{{block type="catalog/product_bestseller" template="catalog/product/bestseller.phtml"}}
これは私の古いウェブショップでは機能しましたが、新しいウェブショップでは機能しませんでした。タイプを変更してみました core/template
, システム -> アクセス許可 -> ブロックにブロックを追加してみました。
core/template
catalog/product_bestseller
そして、bestseller.phtml をベースフォルダーなどの他のテンプレートに追加してみました。stackexchange も調べましたが、見つけた「解決策」は私にとっては役に立ちませんでした。これを修正するにはどうすればよいですか?
編集:私のsystem.logには次のように書かれています。 Security problem: <span>catalog</span>/product_bestseller has not been whitelisted.
でも許可したよ catalog/product_bestseller
そして core/template
上で言ったように:
解決
System > Permissions > Blocks
およびSystem > Permissions > Variables
に許可された変数とブロックを設定できます。
そこにcore/template
とcatalog/product_bestseller
ブロックを追加する必要があります。
この機能はCommunity Edition 1.9.2.2およびMagento Enterprise Edition 1.14.2.2
更新: データベース内の permission_variable テーブルに移動して、 core / template を削除します。 カタログ/ product_bestseller エントリは、変数ではないブロックです。
あなたがあなたのインストールにいくつかのファイルが足りないと思います.Sestsellerブロックとレイアウトの更新とレイアウトの更新。
Amasty
他のヒント
テンプレートをアップグレードせずに Magento 1.5.x から 1.9.x に移行するのは危険です。
チェックインする必要があります catalog/product/bestseller.phtml
そして、廃止されたメソッドが使用されているかどうかを理解しようとします。
簡単なテストを行うには、一時的に削除するだけです catalog/product/bestseller.phtml
したがって、それはあなたのものからかかります base/default
そしてそれが機能するかどうかを確認してください。
追伸:デフォルトの Magento インストールには、と呼ばれるブロックはありません。 catalog/product_bestseller
, 、習慣から来ているのでしょうか?「はい」の場合は、そのコンプライアンスを確認する必要があります。