IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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 Avatar de MKuser53
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2016
    Messages : 34
    Points : 27
    Points
    27
    Par défaut 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):?>
    <?php foreach($this->tListeAncre as $oListeAncre):?>
    <?php echo "<?php" ?>
     
    $liens<?php echo $oListeAncre->ancretab ?> = array(
      <?php foreach($this->tListeCss as $oListeCss):?><?php if($oListeCss->choixonglet_id==$oListeAncre->onglet_id):?>
    '<?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):?><?php if($oListeCss->choixonglet_id==$oListeAncre->onglet_id):?>
        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):?><?php if($oListeCss->choixonglet_id==$oListeAncre->onglet_id):?>
    .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:?>
      <tr>
        <td colspan="4">Aucune ligne CSS</td>
      </tr>
    <?php endif;?>

  2. #2
    Nouveau membre du Club Avatar de MKuser53
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2016
    Messages : 34
    Points : 27
    Points
    27
    Par défaut
    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
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 098
    Points
    19 098
    Billets dans le blog
    17
    Par défaut
    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;

  4. #4
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 098
    Points
    19 098
    Billets dans le blog
    17
    Par défaut
    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)

  5. #5
    Nouveau membre du Club Avatar de MKuser53
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2016
    Messages : 34
    Points : 27
    Points
    27
    Par défaut
    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
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 098
    Points
    19 098
    Billets dans le blog
    17
    Par défaut
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Application compatible Bootstrap Aiguillage
    Par MKuser53 dans le forum MkFramework
    Réponses: 29
    Dernier message: 09/01/2017, 19h30
  2. Application compatible U3
    Par hjdc dans le forum Langage
    Réponses: 0
    Dernier message: 14/10/2007, 19h40
  3. Réponses: 6
    Dernier message: 13/07/2007, 11h52
  4. [FLASH 8] application flash avec modules
    Par youp_db dans le forum Flash
    Réponses: 1
    Dernier message: 10/04/2006, 20h19
  5. [DDE] Comment créer une application compatible ?
    Par Stef.web dans le forum Langage
    Réponses: 2
    Dernier message: 14/12/2005, 08h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo