0

mytheme / layout / page/customhome.phtmlにホームページのカスタムテンプレートを配置します

ホームページに適用するには、local.xmlがホームページのテンプレートを変更できないため、管理CMSを使用する必要がありました。私はこのコードを使用して、カスタムレイアウト更新xmlボックスでそれを行いました。

 <reference name="root">
     <action method="setTemplate">
        <template>page/homes.phtml</template>
    </action>
</reference>

それはうまくいき、ホームページは私のテンプレートを使用していますが、Magentoはページのヘッドセクションにcssファイルをインポートしていません。styles.cssのようなデフォルトのものでさえありません。上記のようなxml更新を使用し、local.xmlと参照ヘッドを使用して独自の更新を追加しようとしましたが、何も機能しません。

何か案は?アドバイスをありがとう。

4

2 に答える 2

1

テンプレートの変更に問題があります。phtmlファイルから、$ this-> getChildHtml()を対応させる必要があります。たとえば、app / design / frontend / base / page / 3colums.phtmlの古いテンプレートに移動すると、次のコマンドラインが表示されます。

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>">
<head>
<?php echo $this->getChildHtml('head') ?>
</head>
<body<?php echo $this->getBodyClass()?' class="'.$this->getBodyClass().'"':'' ?>>
<?php echo $this->getChildHtml('after_body_start') ?>
<div class="wrapper">
    <?php echo $this->getChildHtml('global_notices') ?>
    <div class="page">
        <?php echo $this->getChildHtml('header') ?>
        <div class="main-container col3-layout">
            <div class="main">
                <?php echo $this->getChildHtml('breadcrumbs') ?>
                <div class="col-wrapper">
                    <div class="col-main">
                        <?php echo $this->getChildHtml('global_messages') ?>
                        <?php echo $this->getChildHtml('content') ?>
                    </div>
                    <div class="col-left sidebar"><?php echo $this->getChildHtml('left') ?></div>
                </div>
                <div class="col-right sidebar"><?php echo $this->getChildHtml('right') ?></div>
            </div>
        </div>
        <?php echo $this->getChildHtml('footer') ?>
        <?php echo $this->getChildHtml('before_body_end') ?>
    </div>
</div>
<?php echo $this->getAbsoluteFooter() ?>
</body>
</html>

さて、あなたはこれに注意してください、あなたのテンプレートのすべてのブロックはcorespondig phtmlからのgetChildHtml()を必要とします。あなたの場合、おそらくテンプレートからこの呼び出しを追加しないでしょう。次に、ヘッド、コンテンツ、フッターなどを操作しないでください。これがあなたの問題だと思いますが、それでも、ソリューションを支援するためにカスタムテンプレートのコンテンツを作成できます。お役に立てば幸いです

于 2012-06-12T19:51:52.737 に答える
0

Magento CSSとjsを入手するには、次のものが必要です。

<?php echo $this->getChildHtml('head') ?>

タグを内側に<head>配置して、page.xmlからタグを取得します。

<block type="page/html_head" name="head" as="head">
                <action method="addJs"><script>prototype/prototype.js</script></action>
                <action method="addJs"><script>lib/ccard.js</script></action>
                <action method="addJs"><script>prototype/validation.js</script></action>
                <action method="addJs"><script>scriptaculous/builder.js</script></action>
                <action method="addJs"><script>scriptaculous/effects.js</script></action>
                <action method="addJs"><script>scriptaculous/dragdrop.js</script></action>
                <action method="addJs"><script>scriptaculous/controls.js</script></action>
                <action method="addJs"><script>scriptaculous/slider.js</script></action>
                <action method="addJs"><script>varien/js.js</script></action>
                <action method="addJs"><script>varien/form.js</script></action>
                <action method="addJs"><script>varien/menu.js</script></action>
                <action method="addJs"><script>mage/translate.js</script></action>
                <action method="addJs"><script>mage/cookies.js</script></action>

                <block type="page/js_cookie" name="js_cookies" template="page/js/cookie.phtml"/>

                <action method="addCss"><stylesheet>css/styles.css</stylesheet></action>
                <action method="addItem"><type>skin_css</type><name>css/styles-ie.css</name><params/><if>lt IE 8</if></action>
                <action method="addCss"><stylesheet>css/widgets.css</stylesheet></action>
                <action method="addCss"><stylesheet>css/print.css</stylesheet><params>media="print"</params></action>

                <action method="addItem"><type>js</type><name>lib/ds-sleight.js</name><params/><if>lt IE 7</if></action>
                <action method="addItem"><type>skin_js</type><name>js/ie6.js</name><params/><if>lt IE 7</if></action>
            </block> 

これを入手したら、Magentoに必要なCSSとjsを入手する必要があります。パッケージ/テーマのpage.xmlの下のこれにもCSSを追加する必要があります

<action method="addCss"><stylesheet>css/customs.css</stylesheet></action>

テーマのcssフォルダーにファイルがあることを確認してください

于 2012-06-13T17:22:42.520 に答える