0

デフォルトのMagentoチェックアウトを削除してカスタムチェックアウトを追加する必要があります。問題は、カスタム拡張テンプレートがロードされていないことです。ログにエラーが表示されません。スクリーンショットを添付しましたhttp://skit.ch/nwpi

コードはこちらhttps://gist.github.com/3636029

ここに2つの質問があります。

ブロックはレンダリングされていませんか?

ブロックの設定を解除しても、"checkout.onepage"レイアウト全体をダンプすると、デフォルトのチェックアウトレイアウトコードが表示されます。これは正常な動作ですか?

4

1 に答える 1

2

問題はコントローラーにあります。

$this->getLayout()->getBlock('content')->unsetChildren('checkout.onepage');

見る:

Mage_Core_Block_Abstract

/**
 * Unset all children blocks
 *
 * @return Mage_Core_Block_Abstract
 */
public function unsetChildren()
{
    $this->_children       = array();
    $this->_sortedChildren = array();
    return $this;
}

/**
 * Unset child block
 *
 * @param  string $alias
 * @return Mage_Core_Block_Abstract
 */
public function unsetChild($alias)
{
    if (isset($this->_children[$alias])) {
        unset($this->_children[$alias]);
    }

    if (!empty($this->_sortedChildren)) {
        $key = array_search($alias, $this->_sortedChildren);
        if ($key !== false) {
            unset($this->_sortedChildren[$key]);
        }
    }

    return $this;
}

したがって、コードは次のいずれかになります。

$this->getLayout()->getBlock('checkout.onepage')->unsetChildren();

また

$this->getLayout()->getBlock('content')->unsetChild('checkout.onepage');

于 2012-09-06T16:07:26.067 に答える