Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MkFramework Discussion :

Application compatible Bootstrap Module de Check


Sujet :

MkFramework

  1. #1
    Nouveau membre du Club
    Application compatible Bootstrap Module de Check
    Bonjour,

    Je reviens vers vous suite à quelques interrogations sur mon module de Check.
    Pour information j'ai choisi le module par défaut avec un layout xml.
    J'appelle la page par le lien suivant
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    <link rel="stylesheet" href="index.php?:nav=css::style">
    dans le layout bootstrap.

    Mon code en mode procédural était le suivant:

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    <?php
    header("Content-type: text/css; charset: UTF-8");
    global $findme;
    $findme = "<font face='Arial'>Global status : <font color=\"#00FF00\">OK</font>";
    ?>
     
    <?php
    # PLATEFORME SOFT PRODBACKUP
    $lienssoftprodbackup = array(
    'softprodbackupe1'=>'../index-prod-backup-01-soft-fr.html',
    'softprodbackupo2'=>'../index-prod-backup-02-soft-fr.html',
    );
    foreach ($lienssoftprodbackup as $key => $value) {
        switch ($key) {
            case 'softprodbackupe1' :
                        if (file_exists($value)) {
                        $index = file_get_contents($value);
                        $pos = stripos($index, $findme);
                        if ($pos === false) {
                        $linkColorTabSOFTprodbackup = "#FFCECE";
                        $linkColorsoftprodbackupe1 = "#FFCECE";
                        }
                        else {
                        $linkColorsoftprodbackupe1 = "";
                        }
                    } else {$linkColorsoftprodbackupe1 = "#EEF093";}
                break ;
            case 'softprodbackupo2' :
                        if (file_exists($value)) {
                        $index = file_get_contents($value);
                        $pos = stripos($index, $findme);
                        if ($pos === false) {
                        $linkColorTabSOFTprodbackup = "#FFCECE";
                        $linkColorsoftprodbackupo2 = "#FFCECE";
                        }
                        else {
                        $linkColorsoftprodbackupo2 = "";
                        }
                    } else {$linkColorsoftprodbackupo2 = "#EEF093";}
                break ;
         }
    }
    ?>
    .text-tab-color .tabsoftprodbackup a {background-color: <?php echo $linkColorTabSOFTprodbackup; ?>;}
    .softprodbackupe1 a {background-color: <?php echo $linkColorsoftprodbackupe1; ?>;}
    .softprodbackupo2 a {background-color: <?php echo $linkColorsoftprodbackupo2; ?>;}


    Questions ?
    Je souhaiterai définir la constante mais je ne sais pas dans quelle classe la positionnée ?
    http://php.net/manual/fr/language.oop5.constants.php

    Ensuite pour le chargement des fichiers, faut mettre le code dans le contrôleur ?

    Sinon voici le début du code dans la vue.
    Attention les yeux :o) c'est juste pour valider certains processes (remontées des variables(requêtes), boucles et le chargement du fichier css -> vue).

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    <?php
    header("Content-type: text/css; charset: UTF-8");
    global $findme;
    $findme = "<font face='Arial'>Global status : <font color=\"#00FF00\">OK</font>";
    ?>
    <?php if($this->tListeAncre)<img src="images/smilies/icon_confused.gif" border="0" alt="" title=":?" class="inlineimg" />>
    <?php foreach($this->tListeAncre as $oListeAncre)<img src="images/smilies/icon_confused.gif" border="0" alt="" title=":?" class="inlineimg" />>
    <?php echo "<?php" ?>
     
    $liens<?php echo $oListeAncre->ancretab ?> = array(
      <?php foreach($this->tListeCss as $oListeCss)<img src="images/smilies/icon_confused.gif" border="0" alt="" title=":?" class="inlineimg" />><?php if($oListeCss->choixonglet_id==$oListeAncre->onglet_id)<img src="images/smilies/icon_confused.gif" border="0" alt="" title=":?" class="inlineimg" />>
    '<?php echo $oListeCss->diagclass ?>'=>'../<?php echo $oListeCss->urlFile ?>',
      <?php endif;?>
      <?php endforeach;?>
    );
    foreach ($liens<?php echo $oListeAncre->ancretab ?> as $key => $value) {
        switch ($key) {
      <?php foreach($this->tListeCss as $oListeCss)<img src="images/smilies/icon_confused.gif" border="0" alt="" title=":?" class="inlineimg" />><?php if($oListeCss->choixonglet_id==$oListeAncre->onglet_id)<img src="images/smilies/icon_confused.gif" border="0" alt="" title=":?" class="inlineimg" />>
        case '<?php echo $oListeCss->diagclass ?>' :
                    if (file_exists($value)) {
                    $index = file_get_contents($value);
                    $pos = stripos($index, $findme);
                    if ($pos === false) {
                    $linkColorTab<?php echo $oListeCss->ancretab ?> = "#FFCECE";
                    $linkColor<?php echo $oListeCss->diagclass ?>  = "#FFCECE";
                    }
                    else {
                    $linkColor<?php echo $oListeCss->diagclass ?>  = "";
                    }
                } else {$linkColor<?php echo $oListeCss->diagclass ?> = "#EEF093";}
            break ;
      <?php endif;?>
      <?php endforeach;?>
    }
    }
    ?>
     
    <?php foreach($this->tListeCss as $oListeCss)<img src="images/smilies/icon_confused.gif" border="0" alt="" title=":?" class="inlineimg" />><?php if($oListeCss->choixonglet_id==$oListeAncre->onglet_id)<img src="images/smilies/icon_confused.gif" border="0" alt="" title=":?" class="inlineimg" />>
    .text-tab-color .tab<?php echo $oListeAncre->ancretab ?> a {background-color: #FFCECE;}
    .<?php echo $oListeCss->diagclass ?> a {background-color: #FFCECE;}
    <?php endif;?>
    <?php endforeach;?>
     
     
    <?php endforeach;?>
     
    <?php else<img src="images/smilies/icon_confused.gif" border="0" alt="" title=":?" class="inlineimg" />>
      <tr>
        <td colspan="4">Aucune ligne CSS</td>
      </tr>
    <?php endif;?>

  2. #2
    Nouveau membre du Club
    Pour le premier point (la constante) en y regardant d'un peu plus prés, je me dis qu'une classe métier chargé juste avant serait peut-être bien ? Je m'en vais testé ça au cas ou !

  3. #3
    Rédacteur

    Pour les constantes, en effet , vous pouvez simplement ajouter "const" dans n'importe quel classe, à vous de trouver la plus pertinente

    Ecriture:
    Code php :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    class model_maTable extends abstract_model{
     
       const MACONSTANTE="toto";


    utilisation
    Code php :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    <?php
    echo model_maTable::MACONSTANTE;
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  4. #4
    Rédacteur

    Pour la conversion de votre script procédural
    mettez la partie affichage du css dans une vue, et le reste (chargement de fichier...) dans le controleur (fichier main.php)

    vous pouvez utilsier file_get_contents, ou file() qui retourne un tableau de ligne de votre fichier (plus qu'a faire un foreach)
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  5. #5
    Nouveau membre du Club
    Ok je vais la mettre dans la classe la plus en rapport avec le module.

    Et je vais regarder pour file, effectivement je voulais éviter de surcharger la vue et j'essaye d'utiliser les bonnes pratiques :o).
    Ensuite je vois dans les exemples que lorsque il y a des traitements au utilise souvent les plugs-ins, ce peut-être pour avoir une meilleure visibilité ? Cela améliore aussi peut-être le diagnostique ?

    le projet commence à prendre forme

  6. #6
    Rédacteur

    La bonne pratique, c'est de penser DRY : Don't Repeat Yourself: à chaque fois que vous coder quelquechose qui pourrait etre utilise à reutiliser dans un autre projet

    soit c'est une classe "simple": on creer un plugin qu'on pourra copier dans un autre projet

    soit c'est plus "complexe" et on fait un module
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

###raw>template_hook.ano_emploi###