0

デフォルトのカテゴリの下のカテゴリに 3 つの製品が割り当てられています。[カテゴリの管理] は、カテゴリがアクティブであることを示し、[カテゴリ製品] タブには 3 つの製品が正しく表示されます。カテゴリは ID:4 として表示されます

CMS > ページ > ホームページ > 私が持っているコンテンツ:

{{block type="catalog/product_list" column_count="4" category_id="4" template="catalog/product/list.phtml"}}

キャッシュをクリアしてインデックスを再作成した後(今では何度も)、ホームページに次のエラーが表示されます。

致命的なエラー: 34 行目の /home8/mauipine/public_html/magento/app/design/frontend/default/pineapple/template/catalog/product/list/toolbar_top.phtml の非オブジェクトに対するメンバー関数 getSize() の呼び出し

ここと Magento サイトにある多くの解決策を試しましたが、エラーを解決できませんでした。存在しない category_id (例: 3) を使用すると、エラーは発生せず、単に「選択に一致する製品がありません」というメッセージが表示されます。

4

2 に答える 2

1

これについて具体的な答えを出すのは難しいでしょう。あなたのエラーごとに

致命的なエラー: 34 行目の /home8/mauipine/public_html/magento/app/design/frontend/default/pineapple/template/catalog/product/list/toolbar_top.phtml の非オブジェクトに対するメンバー関数 getSize() の呼び出し

このtoolbar_top.phtmlファイルは、(私の知る限り) 標準の Magento インストールの一部ではありません。カスタムpineappleテーマがこのファイルを追加し、何らかの方法で Magento システムのレイアウトに組み込みました。catalog/product_list残念ながら、あなたが行っているブロック呼び出しと互換性がないようです。そのファイルのどこかにgetSize、次のような への呼び出しが表示されます (変数にはおそらく という名前は付けられません$object) 。

$object->getSize();

強引な修正は、そのステートメントの周りに条件付きコードを追加することです。そうしないと、顔$objectがインスタンス化されない可能性があります。

if(is_object($object))
{
    $object->getSize();
}
于 2013-07-07T06:28:48.607 に答える
1

まことにありがとうございます!7 In One Catalog By etatvasoft 拡張機能と mobileshoppe テーマでも同じ問題が発生しました。次のように、toolbar_top および toolbar_bottom テンプレートの最初の条件を変更するだけで十分です。

<?php if(is_object($this->getCollection()) and $this->getCollection()->getSize()): ?>

于 2014-01-16T11:13:54.493 に答える