Indiquez l’intérêt que vous portez à cette question
0

Performer mon code

Bonjour,
J’aimerai savoir si mon code est OK, conforme, dans les normes, et si il y des moyens de l’améliorer... Je précise néanmoins que tout fonctionne (ce dont je suis pas peu fier !). Mais, attention, c’est un peu compliqué à comprendre... Mais, en même temps, si ça peut servir à d’autres... Pour voir le résultat provisoire http://www.desdemains.fr/test-arvalis.

Avec la fabrique, j’ai créé un objet éditorial "Fiche" (avec pas mal de champs).
Les fiches doivent s’afficher toujours en binôme : chacune des 2 fiches proviennent toujours de rubriques différentes.
Chaque fiche doit afficher :
- le titre colorisé de la rubrique à laquelle la fiche appartient (#LOGO_RUBRIQUE). Simple image.
- la couleur (h3 et l’URL de la fiche) de la rubrique à laquelle la fiche appartient (#IDENTIFIANT_PAR_NOM). Le nom de la rubrique (sans accent, sans espace) de la classe qui équivaut à une classe CSS.
- une "diapo" selon la rubrique à laquelle la fiche appartient (#FICHE_PHOTO_RUBRIQUE).
- la fiche qui appelle sa "copine" (#FICHE_SOEUR) se trouve toujours à sa droite.

Voici le code (long) :

<BOUCLE_general_fiches(FICHES) {affichage_accueil=on}>
<B_fiche_une>  
 
<-- je crée les set fiche une -->
 
<BOUCLE_set_fiche_une(FICHES)  {id_fiche} {affichage_accueil=on}>   
#SET{fiche_deux_id,#FICHE_SOEUR}
    <BOUCLE_fiche_une_set_logo_identifiant_rub(HIERARCHIE){id_fiche}>
    #SET{fiche_une_logo_rub,  (#LOGO_RUBRIQUE|extraire_attribut{src}|supprimer_timestamp)}
    #SET{fiche_une_classe_rub,(#IDENTIFIANT_PAR_NOM|strtolower)}
    </BOUCLE_fiche_une_set_logo_identifiant_rub>
</BOUCLE_set_fiche_une>
 
<-- je crée les set fiche deux -->    
 
<BOUCLE_set_fiche_deux(FICHES) {id_fiche=(#GET{fiche_deux_id})}>
#SET{fiche_deux_photo_rub,#FICHE_PHOTO_RUBRIQUE}
        <BOUCLE_fiche_deux_set_logo_identifiant_rub(HIERARCHIE){id_fiche}>
        #SET{fiche_deux_logo_rub,(#LOGO_RUBRIQUE|extraire_attribut{src}|supprimer_timestamp)}
        #SET{fiche_deux_classe_rub,(#IDENTIFIANT_PAR_NOM|strtolower)}
        </BOUCLE_fiche_deux_set_logo_identifiant_rub>
</BOUCLE_set_fiche_deux>
 
 
<main class="celltop w50 pr1">
 
<-- j'affiche la photo de la rubrique de la fiche deux -->
 
<BOUCLE_fiche_photo_rubrique(DOCUMENTS) {id_document=#GET{fiche_deux_photo_rub}} {extension IN png,jpg,gif} {tout} {doublons}>
[(#FICHIER|image_reduire{600})]
</BOUCLE_fiche_photo_rubrique>
 
<-- j'affiche la fiche une -->
 
    <div class="fiche celltop w25 pr1">
    <BOUCLE_fiche_une(FICHES)  {id_fiche} {affichage_accueil=on} {doublons}>   
 
        <BOUCLE_fiche_une_photo(DOCUMENTS) {id_fiche} {affichage=selection_photo} >
            <div class="fiche_image">
            <a href="#URL_FICHE">[(#FICHIER|image_reduire{800}|inserer_attribut{'title', #TITRE|textebrut}|inserer_attribut{'alt', #DESCRIPTIF|textebrut}|inserer_attribut{'class', fiche_photo})]</a>
            [(#CHEMIN{[(#GET{fiche_une_logo_rub})]}|balise_img{picto, fiche_icone})]
            </div>
        </BOUCLE_fiche_une_photo>
 
        <p class="info-publi"><abbr title="[(#FICHE_DATE|date_iso)]">Publié le [(#FICHE_DATE|nom_jour) ][(#FICHE_DATE|affdate)]</abbr></p>
        <h2>#FICHE_SOUSTITRE</h2>
        <h3 class="[(#GET{fiche_une_classe_rub})]">#TITRE</h3>
        <p>#FICHE_CHAPO</p>
 
        <BOUCLE_fiche_une_bouton(HIERARCHIE){id_fiche}>
        <a href="#URL_FICHE"  class="[(#GET{fiche_une_classe_rub})] fiche_bouton" >L'ACTION ARVALIS</a>
        </BOUCLE_fiche_une_bouton>     
    </BOUCLE_fiche_une>
    </div>
 
<-- j'affiche la fiche deux -->
 
    <div class="fiche celltop w25 pl1">
        <BOUCLE_fiche_deux(FICHES) {id_fiche=(#GET{fiche_deux_id})} {doublons}>
 
        <BOUCLE_fiche_deux_photo(DOCUMENTS) {id_fiche} {affichage=selection_photo} >
        <div class="fiche_image">
        <a href="#URL_FICHE">[(#FICHIER|image_reduire{800}|inserer_attribut{'title', #TITRE|textebrut}|inserer_attribut{'alt', #DESCRIPTIF|textebrut})]</a>
        [(#CHEMIN{[(#GET{fiche_deux_logo_rub})]}|balise_img{picto, fiche_icone})]
        </div>
        </BOUCLE_fiche_deux_photo>
 
        <p class="info-publi"><abbr title="[(#FICHE_DATE|date_iso)]">Publié le [(#FICHE_DATE|nom_jour) ][(#FICHE_DATE|affdate)]</abbr></p>
        <h2>#FICHE_SOUSTITRE</h2>
        <h3 class="[(#GET{fiche_deux_classe_rub})]">#TITRE</h3>
        <p>#FICHE_CHAPO</p>
 
        <BOUCLE_fiche_deux_bouton(HIERARCHIE){id_fiche}>
        <!--<a href="spip.php?page=fiche&id_fiche=[(#GET{lien_fiche})]" class="button_[(#GET{nom_de_la_classe})] affichage_fiche" id="fiche_button" data-id="[(#GET{lien_fiche})]">L'ACTION</a>-->
        <a href="#URL_FICHE"  class="[(#GET{fiche_deux_classe_rub})] fiche_bouton" >L'ACTION ARVALIS</a>
        </BOUCLE_fiche_deux_bouton>
        </BOUCLE_fiche_deux>
    </div>
 </main>
 
</B_fiche_une> 
</BOUCLE_general_fiches>

Peut-être il y a des moyens de faire plus court ? Plus performant ? Ce post me permet aussi de valider ou pas mes acquis...