Forum CMS Made Simple Francophone

Aide francophone sur CMS Made Simple

Vous n'êtes pas identifié(e).

Annonce

ATTENTION

  • Prenez le temps de rechercher si quelqu'un n'a pas déjà proposé une solution à votre problème. Sur le forum français et sur le wiki
  • Pensez à mettre à jour votre version de CMS Made Simple. Nous ne faisons de support que sur LA dernière version de CMS Made Simple.
  • Renseignez impérativement le formulaire de nouveau message de manière la plus complète que possible. Dans votre CMS utiliser le menu Administration du site/Informations du système en haut Vue au format texte. Ces informations demandées nous permettent de mieux vous aider
  • Ajoutez [Résolu] au début du titre de votre 1er message lorsqu'une solution a été trouvée.

#1 11/02/2009 20:51:04

Jean le Chauve
Sa Seigneurie le Chauve, Comte du domaine .be
Lieu : Bruxelles
Inscription : 13/12/2007
Messages : 4 687
Site Web

news : afficher le titre de la news comme titre de la page et + encore

Origine : http://forum.cmsmadesimple.org/index.ph … 75.15.html

Vous désirez que, lorsqu'une news a été cliquée, la page de détail reçoive comme titre celui de la news.  Et que cela se répercute sur le breadcrumbs et la balise <h1> (ou h2).

Allons-y :

1° Contenu => Articles => Gabarit du détail article

Placez ce qui suit au tout début du gabarit (par défaut 'Sample'):

{assign var='pagetitle'  value=$entry->title}

Cela insère le titre de la news dans la variable $pagetitle que nous utiliserons dans le gabarit de la page.

2° Disposition => Gabarits

Ouvrez votre gabarit principal, déplacez {process_pagedata}, ajoutez {capture assign='captured_content'}{content}{/capture} et modifiez la ligne contenant <title> comme suit :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
{process_pagedata}
{capture assign='captured_content'}{content}{/capture}
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr_FR">
<head>
<title>{if isset($pagetitle)}{$pagetitle} - {sitename}{else}{title} - {sitename}{/if}</title>
{* sitename est modifié dans Site Admin/Global settings. {title} est le nom de chaque page *}
{* {$page_name!='news'} 'news' est l'alias, le nom ou l'ID de la page assignée à recevoir le détail des news, modifiez selon vos besoins *}
{if isset($canonical) AND $page_name!='news'}<link rel="canonical" href="{$canonical}" />{elseif isset($content_obj) AND $page_name!='news'}<link rel="canonical" href="{$content_obj->GetURL()}" />{/if}
{/if}
{metadata}
{cms_stylesheet}
    </head>

Ici, nous créons une condition : si la variable $pagetitle existe, affiche les variables sitename et pagetitle, sinon affiche sitename et title.
Pour que nous puissions agir sur le content (qui va être remplacé par le détail de la news), nous devons tout d'abord assigner la variable captured_content à content. C'est réalisé avec {capture assign='captured_content'}{content}{/capture}.

3° Le breadcrumds :

Trouvez la balise breadcrumbs et modifiez-la ainsi :

{* Start Breadcrumbs *}
   <div class="breadcrumbs">
  {if isset($pagetitle)}{breadcrumbs starttext='Vous êtes ici' root='Home' delimiter='»'} -> {$pagetitle}
{else}
   {breadcrumbs starttext='Vous êtes ici' root='Home' delimiter='»'}
{/if}

4° Le titre du contenu et le contenu:

{* Start Content Area *}
      <div id="main">
         <h2>{if isset($pagetitle)}{$pagetitle}{else}{title}{/if}</h2>
        {$capturedcontent}<br />

5° Utilisez le paramètre detailpage=news dans l'appel au module dans le gabarit . Ex, si la news est dans la sidebar :

{* Start Sidebar *}
      <div id="sidebar" class="hascontent">
        {news lang="fr_FR" detailpage="news"} {content block='Sidebar'}
      </div>
      {* End Sidebar *}

6° Créer une page "news" (modifier le nom comme vous le souhaitez mais n'oubliez pas de modifier en conséquence les points 2, 4 et 5)

Placez dans le contenu de la page :

{news category="General" detailpage="news"}

Adaptez les paramètres selon vos besoins.

EDIT : ajout de canonical au point 2 (pas de canonical dans la page de détail des news)
EDIT 09-08-2010 : modification pour la version cmsms 1.8+ (merci à nicolas-web2)

Have fun smile

Dernière modification par Jean le Chauve (09/08/2010 14:08:41)

Hors ligne

#2 05/03/2009 20:26:13

isa46
Membre
Lieu : Limousin (France)
Inscription : 28/10/2008
Messages : 400

Re : news : afficher le titre de la news comme titre de la page et + encore

Ohé Jean le Chauve.


Je viens de regarder ton site de démo à propos de ce post sur les le module "News"
Pour le titre c'est quelque chose que j'avais déjà tenté sans succès .
Je vais étudier cela dés que possible.

Encore merci pour tes nombreuses interventions.

A plus

Dernière modification par isa46 (26/04/2009 14:33:32)


-.

Hors ligne

#3 08/03/2009 13:14:45

isa46
Membre
Lieu : Limousin (France)
Inscription : 28/10/2008
Messages : 400

Re : news : afficher le titre de la news comme titre de la page et + encore

Pour compléter ce brillant tuto.

Trouvé sur http://wiki.cmsmadesimple.org/index.php … y_Per_Page
Facile à mettre en place et tellement utile.

Un bloc de news pour chaque page
Dans votre template, ou ailleurs changer le détailpage comme suit.

<!-- Start News -->
    <div id="news">
      <h2>News</h2>
      {news limit=3 detailpage='news' category = $page_alias}
    </div>
  <!-- End News -->

-----------------------------------------------------------------------------------------
Pour chaque page de votre template auquelle vous aurez préalablement donnée un nom d'alias dans (option de la page) vous pouvez maintenant créer une catégorie dont le nom est l'alias de la page en question.
EX: page: Home  alias de la page _Home  catégorie:_Home.
Tous les articles que vous attriburez à cette catégorie seront affichés  dans la page Home.
-------------------------------------
Atention vous devez le faire pour toutes les pages du template sinon le bloc n'aparaîtra pas sur les autres pages.
Vous pouvez aussi regarder sur la même page de doc
Hide Empty News Block
----------------------------------------------------------------------------
Démo ici http://isa46.byethost16.com/
sur les trois pages template, page and navigation,content dans la rubrique How cmsms works du menu.
--------------------------------------
Bons test.

Dernière modification par isa46 (08/03/2009 13:21:11)


-.

Hors ligne

#4 26/04/2009 18:04:35

Jean le Chauve
Sa Seigneurie le Chauve, Comte du domaine .be
Lieu : Bruxelles
Inscription : 13/12/2007
Messages : 4 687
Site Web

Re : news : afficher le titre de la news comme titre de la page et + encore

Ajouter dans le gabarit de détail de la news :

{assign var='description' value=$entry->extra}

Dans l'article lui-même : entrer la description dans le champs "extra". Veiller à ne pas dépasser 300 caractères (edit:le champs n'autorise que 250 caractères) et échapper les doubles-quotes (" => \"). N'utilisez pas, bien entendu, de balise html dans cette description wink.
Dans le gabarit de la page ajouter juste avant {metadata}:

{if !empty($description)}<meta name="Description" content="{$description|strip_tags:false}" />{/if}

Dernière modification par Jean le Chauve (08/05/2009 14:26:57)

Hors ligne

#5 25/06/2009 10:14:17

bess
Administrateur
Lieu : Rennes
Inscription : 16/12/2008
Messages : 6 094
Site Web

Re : news : afficher le titre de la news comme titre de la page et + encore

@Cesariongelvez

ce que te dit smarty c'est que tu as une borne {/if}, mais pas de borne {if} correspondante. recherche donc dans les gabarit que tu as pu modifier si tu
-> aurais pas oublié un {if}
-> mis deux fois un {/if}
-> oublié une accolade, une apostrophe, ... qui fout le gabarit en l'air.

Hors ligne

#6 16/07/2009 07:41:03

Jean le Chauve
Sa Seigneurie le Chauve, Comte du domaine .be
Lieu : Bruxelles
Inscription : 13/12/2007
Messages : 4 687
Site Web

Re : news : afficher le titre de la news comme titre de la page et + encore

Content que cela te soit utile smile

Dernière modification par Jean le Chauve (16/07/2009 07:43:50)

Hors ligne

#7 23/07/2009 12:26:56

Jean le Chauve
Sa Seigneurie le Chauve, Comte du domaine .be
Lieu : Bruxelles
Inscription : 13/12/2007
Messages : 4 687
Site Web

Re : news : afficher le titre de la news comme titre de la page et + encore

Ça me semble très intéressant, je testerai dès que j'ai un peu de temps.
Tu pourrais peut-être aussi "masquer" les liens "page précédente et page suivante".
Merci pour cette contribution smile

Hors ligne

#8 28/09/2009 16:31:45

bess
Administrateur
Lieu : Rennes
Inscription : 16/12/2008
Messages : 6 094
Site Web

Re : news : afficher le titre de la news comme titre de la page et + encore

ta page des news s'appel bien "news" et non un nom que tu aurais spécifié différemment ?

Hors ligne

#9 28/09/2009 20:30:12

Jean le Chauve
Sa Seigneurie le Chauve, Comte du domaine .be
Lieu : Bruxelles
Inscription : 13/12/2007
Messages : 4 687
Site Web

Re : news : afficher le titre de la news comme titre de la page et + encore

header + .htaccess + lien vers le site (surtout après avoir constaté tes déboires sur le post http://www.cmsmadesimple.fr/forum/viewt … p?id=2127)

Dernière modification par Jean le Chauve (28/09/2009 20:33:49)

Hors ligne

#10 29/09/2009 16:30:26

Jean le Chauve
Sa Seigneurie le Chauve, Comte du domaine .be
Lieu : Bruxelles
Inscription : 13/12/2007
Messages : 4 687
Site Web

Re : news : afficher le titre de la news comme titre de la page et + encore

1°Essaye en enlevant {process_pagedata} et en mettant sa valeur sur false dans le config.php.
2°Essaye avec un .htaccess minimal pour le mod_rewrite (enlève toutes les règles maison).

Hors ligne

#11 10/03/2010 16:56:11

bess
Administrateur
Lieu : Rennes
Inscription : 16/12/2008
Messages : 6 094
Site Web

Re : news : afficher le titre de la news comme titre de la page et + encore

soit j'ai pas assez de caféine dans le sang pour voir clair, soit c'est pas français

Hors ligne

Pied de page des forums