web-dev-qa-db-ja.com

カスタムモジュールの適用chrome J3.3.3で

カスタムモジュールchromeを3.3.1 Webサイト用に作成しましたが、完全に機能していました。Webサイトを3.3.3に更新したところ、プロセスでmodule.phpがオーバーライドされました(promise 、それは再び発生しません!)module.phpは少し異なる方法でコード化されているようですので、chrome phpをこの変更を反映するように変更しましたが、私のモジュールchrome work。

あなたの助けをありがとう! (以下のすべてのコードについて申し訳ありませんが、モジュールのクロムに関する特定の部分に切り詰めます)

これはtemplate/index.phpにあります

<jdoc:include type="modules" name="user1" style="megarounded"/>

Joomla 3.3.1にあったtemplate/html/module.php

<?php
defined('_JEXEC') or die;
?>
<?php
function modChrome_megarounded($module, &$params, &$attribs)
{ ?>
        <div class="megamod module<?php echo $params->get('moduleclass_sfx'); ?>">
            <div class="megabox">
                <div class="megaboxouter">
                    <div class="megaboxinner">
                        <?php if ($module->showtitle != 0) : ?>
                            <h6><?php echo $module->title; ?></h6>
                        <?php endif; ?>
                    <?php echo $module->content; ?>
                    </div>
                </div>
            </div>
        </div>
    <?php
}
?>

Joomla 3.3.3にあるtemplate/html/module.php

<?php
defined('_JEXEC') or die;
function modChrome_megarounded($module, &$params, &$attribs)
{
    if ($module->content)
    {
        echo "<div class=\"megamod" . htmlspecialchars($params->get('moduleclass_sfx')) . "\">";
            echo "<div class=\"megabox\">";
                echo "<div class=\"megaboxouter\">";
                    echo "<div class=\"megaboxinner\">";
        if ($module->showtitle)
        {
            echo "<h6>" . $module->title . "</h6>";
        }
        echo $module->content;
                    echo "</div>";
                echo "</div>";
            echo "</div>";
        echo "</div>";
    }
}
?>

私のウェブサイトは ここ です:モジュールchromeのスタイルがThe RSC in briefの右側の列に表示されます)(クラスをインデックスに直接追加しました) .phpなので、このモジュールでは、モジュールchromeを追加する正しい方法を使用しませんでした。chromeは、user-1の位置にも適用されます(灰色がかったすべての周囲)。 Last articlesの長方形)。

chromeが機能しない理由はありますか?どうもありがとうございます!

this が表示されますが、あまり役に立ちませんでした

更新:Beez5に基づいて私はこれを試しましたが、まだ成功しません:

 function modChrome_megarounded($module, &$params, &$attribs)
 {
    if ($module->content)
    {?>
        <div class="megamod <?php echo htmlspecialchars($params->get('moduleclass_sfx'));?>">
            <div class="megabox">
                <div class="megaboxouter">
                    <div class="megaboxinner">
        <?php if ($module->showtitle) : ?>
        <h6><?php echo $module->title; ?></h6>
         <?php endif; ?>
        <?php echo $module->content; ?>
                    </div>
                </div>
            </div>
        </div>
    <?php }
}
2
MagTun

Protostarテンプレートを見ると、それはmodules.phpを使用しているので、ファイルを次のように変更してみてください:

module.phpからmodules.php

最後のsに注意してください。

また、jdocインクルードで、最後のスラッシュの前にスペースを追加してみてください。

style="megarounded"/>からstyle="megarounded" />

お役に立てれば

6
Lodder