-1

私が試して修正したことのいくつか:

- 3columns.phtml から作業したものに変更しようとしました - 2columns-left.phtml、多くの異なる場所で、すでに 2columns~ と表示されています。

- キャッシュのクリアを何度も試みました。

- cms とカテゴリでもこのテンプレートに変更しましたが、まだ機能していません。


私の最初のページは、私がやりたいことをやっています。しかし、製品または任意の cms ページをクリックすると、ロゴとヘッダーが完全に奇妙に見え、header.phtml の div で追加した背景要素さえ欠落しています。

なぜこれが起こるのか、誰にも手がかりがありますか?:(そして、どこで何かを変更する必要がありますか?



2columns-left.phtml から:

<?php
/**
 * Template for Mage_Page_Block_Html
 */
?>
<!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 col2-left-layout">
            <div class="main">
                <?php echo $this->getChildHtml('breadcrumbs') ?>
                <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>
        <?php echo $this->getChildHtml('footer') ?>
        <?php echo $this->getChildHtml('before_body_end') ?>
    </div>
</div>
<?php echo $this->getAbsoluteFooter() ?>
</body>
</html>



header.phtml から:

<?php
/**

/**
 * @var Mage_Page_Block_Html_Header $this
 */
?>
<div class="header-container">
    <div class="header">
        <?php if ($this->getIsHomePage()):?>
                <div class="header-menu">
        <p></p>
        <?php echo $this->getChildHtml('topMenu') ?>
        </div>
        <div class="header-bg">
        <h1 class="logo"><strong><?php echo $this->getLogoAlt() ?></strong><a href="<?php echo $this->getUrl('') ?>" title="<?php echo $this->getLogoAlt() ?>" class="logo"><img src="<?php echo $this->getLogoSrc() ?>" alt="<?php echo $this->getLogoAlt() ?>" /></a></h1>
        <?php else:?>
        <a href="<?php echo $this->getUrl('') ?>" title="<?php echo $this->getLogoAlt() ?>" class="logo"><strong><?php echo $this->getLogoAlt() ?></strong><img src="<?php echo $this->getLogoSrc() ?>" alt="<?php echo $this->getLogoAlt() ?>" /></a>
        <?php endif?>
        </div>

    </div>
    <div class="quick-access">
        <?php echo $this->getChildHtml('store_language') ?>
        <p class="welcome-msg"><?php echo $this->getWelcome()?></p>
        <?php echo $this->getChildHtml('topLinks') ?>
    </div>
    <?php echo $this->getChildHtml('topBar') ?>
    <?php echo $this->getChildHtml('topContainer'); ?>
</div>



これは最初のページ(インデックス/ホーム)で機能しますが、クリックすると他のすべてのページで機能します-ヘッダーにはこのコードが含まれていないようです(少なくとも、そうではないように見えるため、私はそう思います) :

            <div class="header-menu">
    <p></p>
    <?php echo $this->getChildHtml('topMenu') ?>
    </div>
    <div class="header-bg">
    <h1 class="logo"><strong><?php echo $this->getLogoAlt() ?></strong><a href="<?php echo $this->getUrl('') ?>" title="<?php echo $this->getLogoAlt() ?>" class="logo"><img src="<?php echo $this->getLogoSrc() ?>" alt="<?php echo $this->getLogoAlt() ?>" /></a></h1>
    <?php else:?>
    <a href="<?php echo $this->getUrl('') ?>" title="<?php echo $this->getLogoAlt() ?>" class="logo"><strong><?php echo $this->getLogoAlt() ?></strong><img src="<?php echo $this->getLogoSrc() ?>" alt="<?php echo $this->getLogoAlt() ?>" /></a>
    <?php endif?>
    </div>
4

2 に答える 2

1

ホームページがアクティブかどうかをチェックするテスト<?php if ($this->getIsHomePage()):?>が間違った場所にあるため、コードをラップしすぎています。現在のページがホームページでない場合、一部のタグが閉じられず、メニューまたはヘッダーの背景が表示されません。

通常、これは次のようになります。

<?php if ($this->getIsHomePage()):?>
<h1 class="logo"><strong><?php echo $this->getLogoAlt() ?></strong><a href="<?php echo $this->getUrl('') ?>" title="<?php echo $this->getLogoAlt() ?>" class="logo"><img src="<?php echo $this->getLogoSrc() ?>" alt="<?php echo $this->getLogoAlt() ?>" /></a></h1>
<?php else:?>
<a href="<?php echo $this->getUrl('') ?>" title="<?php echo $this->getLogoAlt() ?>" class="logo"><strong><?php echo $this->getLogoAlt() ?></strong><img src="<?php echo $this->getLogoSrc() ?>" alt="<?php echo $this->getLogoAlt() ?>" /></a>
<?php endif?>
于 2012-07-13T07:30:48.080 に答える
0

コードを getIsHomePage()):?> チェックの外に移動します

<?php
/**

/**
 * @var Mage_Page_Block_Html_Header $this
 */
?>
<div class="header-container">
    <div class="header">
        <?php if ($this->getIsHomePage()):?>
                <div class="header-menu">
        <p></p>
        <?php echo $this->getChildHtml('topMenu') ?>
        </div>
        <div class="header-bg">
        <h1 class="logo"><strong><?php echo $this->getLogoAlt() ?></strong><a href="<?php echo $this->getUrl('') ?>" title="<?php echo $this->getLogoAlt() ?>" class="logo"><img src="<?php echo $this->getLogoSrc() ?>" alt="<?php echo $this->getLogoAlt() ?>" /></a></h1>
        <?php else:?>
        <a href="<?php echo $this->getUrl('') ?>" title="<?php echo $this->getLogoAlt() ?>" class="logo"><strong><?php echo $this->getLogoAlt() ?></strong><img src="<?php echo $this->getLogoSrc() ?>" alt="<?php echo $this->getLogoAlt() ?>" /></a>
        <?php endif?>
        </div>

    </div>
    <div class="quick-access">
        <?php echo $this->getChildHtml('store_language') ?>
        <p class="welcome-msg"><?php echo $this->getWelcome()?></p>
        <?php echo $this->getChildHtml('topLinks') ?>
    </div>
    <?php echo $this->getChildHtml('topBar') ?>
    <?php echo $this->getChildHtml('topContainer'); ?>
</div>

次のようになります。

<?php
/**

/**
 * @var Mage_Page_Block_Html_Header $this
 */
?>
<div class="header-container">
    <div class="header">

        <div class="header-menu">
        <p></p>
        <?php echo $this->getChildHtml('topMenu') ?>
        </div>
        <div class="header-bg">
         <?php if ($this->getIsHomePage()):?>
        <h1 class="logo"><strong><?php echo $this->getLogoAlt() ?></strong><a href="<?php echo $this->getUrl('') ?>" title="<?php echo $this->getLogoAlt() ?>" class="logo"><img src="<?php echo $this->getLogoSrc() ?>" alt="<?php echo $this->getLogoAlt() ?>" /></a></h1>
        <?php else:?>
        <a href="<?php echo $this->getUrl('') ?>" title="<?php echo $this->getLogoAlt() ?>" class="logo"><strong><?php echo $this->getLogoAlt() ?></strong><img src="<?php echo $this->getLogoSrc() ?>" alt="<?php echo $this->getLogoAlt() ?>" /></a>
        <?php endif?>
        </div>

    </div>
    <div class="quick-access">
        <?php echo $this->getChildHtml('store_language') ?>
        <p class="welcome-msg"><?php echo $this->getWelcome()?></p>
        <?php echo $this->getChildHtml('topLinks') ?>
    </div>
    <?php echo $this->getChildHtml('topBar') ?>
    <?php echo $this->getChildHtml('topContainer'); ?>
</div>
于 2012-07-13T09:58:40.010 に答える