Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

Afficher toute les pages active{content} les une en dessous des autres
#1

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: -1.11.2.1
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~


Bonjour,
voici mon souci :
je suis occuper a faire un sildes avec les pages "content"

je devais afficher toutes les pages simultanément les une en dessous des autres
ex:

<ul>

<li id="alias_page_1">
{content page_1}
</li>
<li id="alias_page_2">
{content page_2}
</li>
<li id="alias_page_3">
{content page_3}
</li>
...
</ul>

j'ai pas trouvé d'autre solution que de faire une requete SQL ( ça fonctionne, mais ca interprète pas les {balise} qui sont dans le contenu (logique car ce n'est pas traiter par "smarty" car il prend directement dans la db)
pouvez m'aide comment traite le donne récupéré de la db


merci de votre aide je galère depuis 2 jours

donc voici le code


Code :
[== PHP ==]
// Appel de la variable global pour pouvoir l'utiliser dans l'UDT
$db = cmsms()->GetDb();

// Création et éxécution de la requête
$q = "SELECT cms_content.content_id,cms_content.content_alias,cms_content_props.content_id,cms_content_props.prop_name,cms_content_props.content
FROM  cms_content,cms_content_props
WHERE cms_content.content_id = cms_content_props.content_id AND
cms_content_props.prop_name = 'content_en'";
$dbresult = $db->Execute( $q );

// Si problème avec bdd, afficher l'erreur
if( !$dbresult ){ echo 'erreur bdd : '. $db->ErrorMsg()."<br/>";}

// Parcourir les résultats et afficher
while ($dbresult && $row = $dbresult->FetchRow()){
    echo '
<li id="'.$row['content_alias'].'">
   <div class="box">
      <div class="containerContent">
<div class="col1">
      '.$row['content'].'
</div>
      </div>
    </div>
</li>';
}
Répondre
#2

Bonjour et bienvenue,
en dehors des réponses techniques que l'on pourrait t'apporter ici, je pense que tu fais une mauvaise utilisation de CMSMS ou du moins de ces pages.
C'est comme si tu achetais une moto pour en faire une voiture...
Pour faire un slide avec du contenu, il faut utiliser les news...garde les pages pour du contenu "statique"!

{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)
Répondre
#3

Citation :#~ Version du CMS: -1.11.2.1

Nouvelle version CMSMS 1.11.4 - Fernandina
Attention sont supportées uniquement les versions 1.11.3 et 1.11.4 sur le forum FR
Aucune réponse ne sera faite pour des versions inférieures

J-C Etiemble v 2.2.xx
Répondre
#4

Si vraiment tu n'avais d'autres choix que de procéder comme cela, tu peux toujours utiliser l'API et le HierarchyManager qui te donneras accès aux pages. J'avais fait cela pour un pavé présentant les pages d'un sous-menu.

Par contre, passe par un bloc de contenu global, qui est statique, afin de ne pas produire un monstre.

Comment faire ? Crée une UDT que tu appelles via le gestionnaire d'évènements. (Evènement "ContentEditPost")

Je te laisse analyser ce code et l'adapter à tes besoins.

Code :
[== Indéfini ==]
$gCms = cmsms();

$gcbops = $gCms->GetGlobalContentOperations();

$the_blob = $gcbops->LoadHtmlBlobById(5);


$contentops = $gCms->GetContentOperations();

$hm = $gCms->GetHierarchyManager();
$parent = $hm->sureGetNodeByAlias(57);
$config=cmsms()->GetConfig();
$path_images=$config['root_url'].'/uploads/images/nos-activites/';
$result='';
if( $parent )
{
    // get the children.
    $children = $parent->GetChildren(1);
    if( is_array($children) && count($children) )
    {
        foreach( $children as $onechild )
        {
            $obj = $onechild->GetContent();
            if( is_object($obj) && $obj->Active())
            {
                // loads page content
                $cntnt=strip_tags($obj->GetPropertyValue('content_en'));
                $result.='<div class="home-block">
                                <h2>'.$obj->MenuText().'</h2>
                                <p>'.substr($cntnt, 0, 150).'...<br/>
                                    <a href="'.$obj->GetURL().'">Lire plus</a>
                                </p>
                                <img src="'.$path_images.$obj->Alias().'.png" width="88" height="88"/>
                            </div>';
            }
        }
    }
}
$the_blob->content = $result;

$the_blob->save();

www.web-ep.be - Développeur Web Freelance - Développeur/Intégrateur CMS Made Simple (création de sites, développement de modules/plugins/templates sur mesure), spécialisé dans les sites pour l'immobilier.
Répondre


Atteindre :


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