製品詳細ページ内にフォームを表示するカスタムモジュールがあります。このブロック内で現在表示されている製品の製品IDを取得する必要があります。他のすべてが働いています。Magentoは、製品詳細ページのカスタムモジュールブロックで製品IDを取得します
$this->getProduct()->getId(); // or
Mage::registry('current_product')->getId();
前者はエラーを返しました:
他の回答にはしようと提案しました。製品の詳細テンプレート内にあるこのテンプレートを使用するとうまくいきます。 getProduct()はブロックのメソッドではないからです。
後者は常にnullを返します。
誰かが私を助けることができれば、それは素晴らしいだろう。
ありがとうございます。
EDIT:カスタムブロックlayout.xml
<layout version="0.1.0">
<catalog_product_view>
<reference name="content">
<reference name="product.info">
<block
type="s148_interestnotification/form"
name="interest_notification"
before="-"
template="s148_interestnotification/index.phtml"
></block>
</reference>
</reference>
</catalog_product_view>
</layout>
既にMage_Core_Block_Templateが拡張されています。これは、あなたが私に "致命的なエラーが発生しました:あなたは、/app/code/core/Mage/Catalog/Block/Product/View.phpのnullのメンバ関数getMetaTitle() " – s148
私は今問題が何かを推測できません。クラス名を更新しました。新しいクラス名を試してください。 – tawfekov
エラーを受け取っていませんが、$ this-> getProduct()はnullを返します。 。ブロックレイアウトに関するいくつかの情報で質問を更新しましたが、そのrelaventがあるかどうかはわかりませんが、配置場所を知ることができます。 – s148