0

以下のコードは、ブロックの高さが 1000px 以下の場合、ロゴを表示するか、それ以外の場合はテキスト メッセージを表示するかを示しています。何が間違っているのかわかりません。これはmagentoの内部にあることを覚えておいてください、これを書くためのより良い方法はjqueryで正しいと思いますか?

 <?php if (css class >= height of 62px): 
 echo '<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() ?>" <?php echo MAGE::helper('ThemeOptions/Retina')->getRetinaData('logo'); ?> alt="<?php echo $this->getLogoAlt() ?>" /></a></h1>';
         else: echo '<p> Testing </p>'; 
         endif; ?>
4

1 に答える 1

1

かなりストレートなコメント。コードを見ることを学び、それには構造があります。使用する場所に応じて、特定の方法で処方されます。

ネストされた PHP タグが機能しない

<?php if :
  <?php ... ?>
?>

php コードが優勢で、html が echo ステートメントとして生成される php スクリプトの場合、次のような構造になります。

<?php

if (css class >= height of 62px) {
    echo '<h1 class="logo"><strong>' . $this->getLogoAlt() . '</strong>';
    echo '<a href="' . $this->getUrl('') . '" title="' . $this->getLogoAlt() . '" class="logo">';
    echo '<img src="' . $this->getLogoSrc() . '" ' . MAGE::helper('ThemeOptions/Retina')->getRetinaData('logo') . '" alt="' . $this->getLogoAlt() . '" />';
    echo '</a></h1>';
} else {
    echo '<p> Testing </p>'; 
}

?>

html タグが優勢で、PHP コードが html 内のタグとして含まれる html スクリプトの場合、次のような構造になります。

<?php if (css class >= height of 62px): ?>
   <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() ?>" 
   <?php echo MAGE::helper('ThemeOptions/Retina')->getRetinaData('logo') ?> alt="<?php echo $this->getLogoAlt() ?>" /></a></h1>
<?php else: ?>
   <p> Testing </p> 
<?php endif; ?>

注:このifコードのテストと他のいくつかのことは、おそらく実際には使用できないMagento phpで動作する疑似コードになります。それにはさらに多くの作業が必要です。

于 2013-08-10T00:29:57.513 に答える