web-dev-qa-db-fra.com

Application du module personnalisé chrome sous J3.3.3

J'ai créé un module personnalisé chrome pour mon site Web 3.3.1 et il fonctionnait parfaitement. Je viens de mettre à jour mon site Web vers la version 3.3.3 et mon module.php a été annulé dans le processus (promis, cela ne se reproduira plus!). Le module.php semble être codé d'une manière légèrement différente, j'ai donc adapté le chrome php pour refléter ce changement, mais je ne peux pas faire fonctionner mon module chrome.

Merci beaucoup pour votre aide! (désolé pour tout le code ci-dessous, je l'ai coupé à la partie spécifique concernant le module chrome)

C'est dans template/index.php

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

Le template/html/module.php que j'avais dans mon Joomla 3.3.1

<?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
}
?>

Le template/html/module.php que j'ai maintenant dans mon Joomla 3.3.3

<?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>";
    }
}
?>

Mon site Web est ici : vous pouvez voir le module chrome le style que je veux sur la colonne de droite autour de The RSC in brief (J'ai ajouté la classe directement dans le fichier index.php donc pour ce module je n’ai pas utilisé la bonne manière d’ajouter le module chrome). Je suis censé avoir ceci chrome s'applique également à la position utilisateur-1 (autour de tous les rectangles grisâtres de Last articles).

Une idée de pourquoi mon chrome ne fonctionne pas? Merci beaucoup!

On me voit ceci , mais je ne m'a pas beaucoup aidé

Mise à jour: basé sur Beez5 J'ai essayé ceci mais toujours sans succès:

 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

En regardant le modèle Protostar, il utilise modules.php alors essayez de modifier votre fichier à partir de:

module.php à modules.php

Notez le s à la fin.

En outre, sur votre jdoc inclus, essayez d'ajouter un espace avant la barre oblique à la fin.

style="megarounded"/> à style="megarounded" />

J'espère que cela t'aides

6
Lodder