Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Global content, User defined tag, Templates... quoi mettre dans quoi?
#1
Bonjour,

je suis paumé dans ces différents concepts, et je cherche à savoir ou l'on peut trouver une documentation CLAIRE de ce à quoi servent ces différents objets.

Alors bien sûr j'ai compris que le template va accueillir tout ce qui est mise en forme de la page (les div structurants), mais aussi les différents blocs de contenus, dont les global content... mais les User Defined Tag, ça marche comment globalement?

Par exemple, si je veux faire apparaître, dans une page, la liste des 3 derniers articles d'une rubrique, avec photo, titre et début du texte, je définis ça à quel niveau? Dans un User Defined Tag? Dans un Global Content?

Et je le code comment concrètement? En php? En smarty? Il y a des exemples concrets disponibles quelque part?
On sait quelles sont les variables qu'on peut appeler en smarty? Et d'ailleurs, smarty fonctionne nativement dans CMSMS ou y a t il un plugin à installer?

Autre question : mettons que j'ai plusieurs blocs, avec tous un titre (genre "Dernieres news", "Bientôt", "Nos coups de coeurs"). Je définis ces blocs et leur titre dans le template? Ou est-il plus judicieux de passer par un Global Content qui va reprendre le bloc + le titre + l'appel du contenu à charger ?

Voilà, pleins de questions en vrac pour un débutant en CMS qui galère pour faire des trucs totalement basiques...
#2
Bonjour,
tu trouveras les points de départs dans la page 'documentation' du menu en haut.
Il y a les guides du designer et du développeur qui pourront t'éclairer (ils ont besoin d'un rafraichissement mais dans le principe, ils pourront t'aider).
dans le wiki, il y a un guide de l'admin : http://wiki.cmsmadesimple.fr/wiki/Guide_...nistrateur

Les exemples que tu cites concernent surtout le module News. Regarde dans l'aide du modules les paramètres à utiliser.
Par exemple, tu créer des catégories "Dernieres news", "Bientôt", "Nos coups de coeurs" et tu affiches les news de ces catégories comme ça:
{News category="Dernieres news"} pour afficher les dernières nouvelles et la restitution est gérée par un gabarit de sommaire et de détail...

De l'apprentissage en perspective!
{SEO}
Inscrivez-vous à notre Newsletter sur le site (colonne de droite, en bas).
Vous appréciez CMSMS et l'aide qui vous est fournie ici, aidez-nous en participant au projet.
Formation CMS Made Simple | Création de site CMS Made Simple.

C'est en se plantant qu'on devient cultivé.
J'ai un string dans l'Array (Paris Hilton)
#3
Merci pour les précisions mais en l'occurrence je n'utilise pas le module News pour ça. Enfin, disons plutôt que les gens qui s'occupaient du site avant que je n'arrive ne s'en servaient pas pour ça. Le module News ne sert que pour annoncer les news de la semaine, dans un bulletin. Tout le reste du contenu est géré dans des pages. Et du contenu, y'en a beaucoup. Donc impossible pour moi de modifier l'architecture de fond en comble, je suis bien obligé de partir de l'existant. Concernant le nom des rubriques (Coup de coeur, Bientôt...) c'était de purs exemples théoriques, pas des rubriques que j'utilise. Moi ce serait plutôt "Dernières chroniques cd", "Derniers live report", "Zoom sur un artiste"...

J'ai parcouru un peu les User Defined Tag présents sur le site actuellement, et c'est tout en php pur, pas de smarty... du coup impossible d'intégrer du smarty dedans non? A moins de tout réécrire?

Exemple d'un User Defined Tag sur le site actuel. Il sert à lister les 3 dernières chroniques parues.

Code :
[== PHP ==]
/* PARTIE PARAMETRABLE ***************************************************/

// Nombre d'éléments à afficher
$limit=3;
// Type d'élément à afficher
$type_elmt="chronique";

/**********************************************************************/






/** NE PAS MODIFIER SOUS CETTE LIGNE ***************************************/

$rqtI="SELECT distinct(A.content_id) FROM cmsms_content_props as A, cmsms_content as B WHERE A.content_id=B.content_id AND prop_name='extra1' AND content LIKE '%".$type_elmt."%' ORDER BY B.hierarchy DESC LIMIT ".$limit;

$sqlI=mysql_query($rqtI) or die;

if(mysql_num_rows($sqlI)>0){
while($rowI=mysql_fetch_array($sqlI)){
   $rqtInt1="SELECT content FROM cmsms_content_props WHERE content_id=".$rowI[0]." AND prop_name='image'";
   $sqlInt1=mysql_query($rqtInt1) or die;
   while($rowInt1=mysql_fetch_array($sqlInt1)){
echo "<div class='blocChro'>";
      if($rowInt1[0]==-1){
            echo "<img src='uploads/images/pas_de_logo.jpg' width='80' border='0' style='float: left; margin-right: 10px;'/>";
      }else{
            echo "<img src='uploads/images/".$rowInt1[0]."' width='80' border='0' style='float: left; margin-right: 10px;'/>";
      }
   }
   $rqtInt0="SELECT content_name, content_alias FROM cmsms_content WHERE content_id=".$rowI[0];
   $sqlInt0=mysql_query($rqtInt0) or die;
   while($rowInt0=mysql_fetch_array($sqlInt0)){
      echo "<h3>".$rowInt0[0]."</h3>";
      $lien=$rowInt0[1];
   }
   echo "<a href='index.php?page=".$lien."'>Lire</a>";
echo "</div>";
}
}

Genre, je fais comment derrière pour intégrer dedans l'appel du texte tronqué au bout de 100 caractères?
Sachant que je suis une bille en php, c'est pas gagné... Il me semblait que smarty était plus "simple" et surtout moins abscon, mais ça signifie que je dois réécrire tous les User Defined Tag???
#4
Re,
ben, le problème c'est que si tu reprends professionnellement un site qui a été customiser avec des UDT et que tu es un "bille" en PHP (je reprends tes propres termes), tu dois : soit te former dans un premier temps à CMSMS puis PHP/ Mysql et enfin SMARTY, soit faire appel à quelqu'un de compétent.
{SEO}
Inscrivez-vous à notre Newsletter sur le site (colonne de droite, en bas).
Vous appréciez CMSMS et l'aide qui vous est fournie ici, aidez-nous en participant au projet.
Formation CMS Made Simple | Création de site CMS Made Simple.

C'est en se plantant qu'on devient cultivé.
J'ai un string dans l'Array (Paris Hilton)
#5
Soit faire le site sans te préoccuper des udt existantes et transformer "Dernières chroniques cd", "Derniers live report", "Zoom sur un artiste"... en catégories de news, comme te l'a expliqué Jissey, ce qui devrait être à ta portée.
Et pourquoi ne pas nous mettre le site en lien, qu'on puisse connaître tes véritables besoins ?
#6
CMSMS n'a de simple que le nom en fait Smile

Devoir taper du php pour customiser l'affichage d'éléments basiques, j'ai connu plus simple pour un CMS...

Donc bon, je vais me replonger dans mes cours de php (qui datent d'il y a un petit moment maintenant), et peut être qu'un jour je pourrai afficher un titre et un texte tronqué sur une page, qui sait...



EDIT :

le site en question est là : http://www.lascenebourguignonne.com/

Les modifs à apporter sont de deux ordres :

1. relookage graphique : ça c'est tranquille.

2. implémentation de nouvelles fonctionnalités :

- avoir des accroches d 'articles
- création de champs spécifiques pour indiquer les styles, la localisation, le nom du groupe, et ce afin de pouvoir faire des tris mais aussi d'afficher ces donnée dans les pages.
- mise en place de pagination, car là, quand on clique sur la liste de tous les reports, ou de toutes les chroniques, on a TOUT sur la même page.... autant dire que c'est long à charger...
- ...d'autant plus que les images ne sont pas vignettées mais seulement réduites en taille à l'affichage. Donc besoin de mettre ne place des vignettes (de tailles différentes suivant les pages).
- changer le systeme des albums photos car ils utilisent "Albums" qui n'est plus maintenu.

Voilà, en gros...
#7
là, il n'y a pas de doute : tu DOIS utiliser le module News, il sait faire tout ce dont tu as besoin.
Pour album, je crois qu'il a été repris, sinon utilise gallery.
{SEO}
Inscrivez-vous à notre Newsletter sur le site (colonne de droite, en bas).
Vous appréciez CMSMS et l'aide qui vous est fournie ici, aidez-nous en participant au projet.
Formation CMS Made Simple | Création de site CMS Made Simple.

C'est en se plantant qu'on devient cultivé.
J'ai un string dans l'Array (Paris Hilton)
#8
Je dois peut etre, mais je ne peux pas... Je vois pas comment repasser l'intégralité du site en News, et du même coup peter toutes les indexations. D'autant qu'un module News, c'est pour les news non? Bizarre d'utiliser un tel module pour gérer l'intégralité d'un site...

Bon, sinon, avec un peu de patience, je suis arrivé à afficher un bout de texte tronqué Big Grin


Au final j'ai ça :

Code :
[== PHP ==]
/* PARTIE PARAMETRABLE ***************************************************/

// Nombre d'éléments à afficher
$limit=3;
// Type d'élément à afficher
$type_elmt="chronique";

/**********************************************************************/

/** NE PAS MODIFIER SOUS CETTE LIGNE ***************************************/

$rqtI="SELECT distinct(A.content_id) FROM cmsms_content_props as A, cmsms_content as B WHERE A.content_id=B.content_id AND prop_name='extra1' AND content LIKE '%".$type_elmt."%' ORDER BY B.hierarchy DESC LIMIT ".$limit;

$sqlI=mysql_query($rqtI) or die;

if(mysql_num_rows($sqlI)>0){
while($rowI=mysql_fetch_array($sqlI)){
   $rqtInt1="SELECT content FROM cmsms_content_props WHERE content_id=".$rowI[0]." AND prop_name='image'";
   $sqlInt1=mysql_query($rqtInt1) or die;
   while($rowInt1=mysql_fetch_array($sqlInt1)){
echo "<div class='blocChro'>";
      if($rowInt1[0]==-1){
            echo "<img src='uploads/images/pas_de_logo.jpg' width='80' border='0' style='float: left; margin-right: 10px;'/>";
      }else{
            echo "<img src='uploads/images/".$rowInt1[0]."' width='80' border='0' style='float: left; margin-right: 10px;'/>";
      }
   }

   $rqtInt0="SELECT content_name, content_alias FROM cmsms_content WHERE content_id=".$rowI[0];
   $sqlInt0=mysql_query($rqtInt0) or die;
   while($rowInt0=mysql_fetch_array($sqlInt0)){
      echo "<h3>".$rowInt0[0]."</h3>";
$lien=$rowInt0[1];
   }


// Voila le bout de code en rab pour avoir le début du texte

$sql = "SELECT  `content` FROM  `cmsms_content_props` WHERE  `prop_name` =  'content_en' AND `content_id` = '$rowI[0]'";
$req = mysql_query($sql) or die;
    while($data = mysql_fetch_assoc($req))
    {

$chaine = $data[content];
$lg_max = 150;
if (strlen($chaine) > $lg_max)
{
$chaine = substr($chaine, 0, $lg_max);
$last_space = strrpos($chaine, " ");
$chaine = substr($chaine, 0, $last_space)."...";
}
echo $chaine;
    }

// Fin du code

   echo "<a href='index.php?page=".$lien."'>Lire</a></p>";
echo "</div>";
}
}

Doit y avoir moyen de faire ça plus propre et rendre le truc plus explicite et moins lourd, mais mes cours de php sont loin ...
#9
Si ce que tu obtiens te conviens, tant mieux.
Ici, on ne donne que des conseils, tu les suis ou pas selon tes contraintes.
Il faut que tu pèses la charge de travail entre refaire du PHP ou basculer les contenus des pages en news (que tu pourrais éventuellement faire avec des requêtes SQL).
Ce qui est bizarre c'est d'utiliser les pages pour les gérer en articles et refaire dans des UDT ce que fait déjà le module News.
Mais c'est toi qui voit.
Pour ma part, je t'ai dit tout ce que je pouvais te donner comme conseil.
Si personne n'a rien à ajouter, on peut fermer la discussion.

Si tu as d'autres questions, il faudra ouvrir un autre fil.
Bonne continuation.
{SEO}
Inscrivez-vous à notre Newsletter sur le site (colonne de droite, en bas).
Vous appréciez CMSMS et l'aide qui vous est fournie ici, aidez-nous en participant au projet.
Formation CMS Made Simple | Création de site CMS Made Simple.

C'est en se plantant qu'on devient cultivé.
J'ai un string dans l'Array (Paris Hilton)
#10
Quelle est l'utilisation des pages alors? C'est la question que je me pose vu que tout semble passer par les news d'après vos conseils.

Je comprend bien l'avantage de news pour ce que je veux faire, mais comprend moins pourquoi ces fonctionnalités ne sont pas de base pour tous les types de pages gérées dans CMSMS. Quant à réinjecter les différentes "Pages" dans des "News" en SQL, c'est clair que je ne m'y vois pas du tout Tongue
#11
C'est l'organisation des informations sur ton site qui me fait te conseiller de passer par les News.Là-dessus, je clos ce fil. :p
{SEO}
Inscrivez-vous à notre Newsletter sur le site (colonne de droite, en bas).
Vous appréciez CMSMS et l'aide qui vous est fournie ici, aidez-nous en participant au projet.
Formation CMS Made Simple | Création de site CMS Made Simple.

C'est en se plantant qu'on devient cultivé.
J'ai un string dans l'Array (Paris Hilton)
#12
Petite précision que je me dois d'apporter régulièrement sur le forum

La traduction française de CmsMadeSimple n'est pas CmsForBigNoob (Cms pour les gros débutants)

C'est un produit ultra-accessible et très puissant à destination des professionnels qui font des sites pour un client final qui ne possèderait pas forcément plus de connaissance que l'utilisation basique de Word.


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)