Derniers sujets

Statistiques du Forum
  • Messages du forum :29,280
  • Sujets du forum :4,332
  • Membres :666
  • Dernier membre :Eric31


Posté par : nodibb
13/11/2012, 19:00:35
Forum : Général
- Pas de réponse

Bonjour à tous,

C'est la première fois que je met le nez dans cmsms (et dans un cms en général) et je dois intervenir sur le site d'un de mes clients.

Par précaution je voudrais avoir une version en local pour faire mes tests tranquillement.

Je récupère mes fichiers et ma BDD mais je sèche un peu sur la suite des processus.

J'imagine qu'il faut modifier le fichier config.php
Pour la configuration de l'appel à la base pas de problème (apparemment)
$config['root_url'] devient $config['root_url'] = http://localhost/monclient

Mais après je suis perdu que mettre pour

- $config['root_path'] = '/homez.63/monclient/www';
- $config['image_transform_lib_path'] = '/usr/bin/ImageMagick/';

Il y a t'il autre chose à faire pour une telle opération ?

Merci de vos réponses

Ps: ma version de cmsms est la 1.9.1 et tourne sous Wamp

Imprimer cet élément


Posté par : elz64
13/11/2012, 16:59:00
Forum : Modules, Tags
- Pas de réponse

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.2.1
#~ Url du site : cms-ms.dzi-neo.net/
#~ Hébergeur / Soft :
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~


Bonjour,

Continuant ma découverte de CMS MS, je cherche à comprendre les tpl de formbuilder.
Dans mon lab (cf url indiquée) je cherche à intégrer avec Bootstrap.
Cela suppose un code particulier pour un formulaire de contact.
sur ma page de test on voit le modèle "propre" non fonctionnel en 1er et dessous le résultat atteint avec formbuilder.

Je rame pour comprendre le gabarit.

Je suis parti du advanced_contact, dont voici la partie de boucle de traitement des champs avec mes qq modifs:

Code :
[== Indéfini ==]
{foreach from=$fields item=entry}
        {if $entry->display == 1}
            {strip}
             {if $entry->needs_div == 1}
                <div  
                {if $entry->required == 1 || $entry->css_class != '' || $entry->valid == 0} class="
                      {if $entry->required == 1}required{/if}
                      {if $entry->css_class != ''} {$entry->css_class}{/if}
                    {if $entry->valid == 0} fb_invalid{/if} control-group
                      "
                {/if}
                >
             {/if}
             {if $entry->hide_name == 0}
                <label class="control-label" {if $entry->multiple_parts != 1} for="{$entry->input_id}"{/if}>{$entry->name}
                {if $entry->required_symbol != ''}
                       {$entry->required_symbol}
                {/if}
                </label>
             {/if}
          <div>
             {if $entry->multiple_parts == 1}
                {section name=numloop loop=$entry->input}
                       {if $entry->label_parts == 1}
                           <div class="controls">{$entry->input[numloop]->input}&nbsp;{$entry->input[numloop]->name} placeholder="name" </div>
                       {else}
                           {$entry->input[numloop]->input}  placeholder="name"
                       {/if}
                       {if isset($entry->input[numloop]->op) && $entry->input[numloop]->op}{$entry->input[numloop]->op}  placeholder="name" {/if}
                {/section}
             {else}
                {if $entry->smarty_eval == '1'}{eval var=$entry->input}{else}{$entry->input}{/if}
             {/if}
             {if $entry->valid == 0} &lt;--- {$entry->error}{/if}
             {if $entry->needs_div == 1}
                  </div>
                </div>
             {/if}
             {/strip}
         {/if}
    {/foreach}

Je ne comprends pas à quoi sert {if $entry->needs_div == 1} en ligne 42.  Enfin plus exactement je le comprends comme une option de wrap dans un div de chaque  label et input (Ce que je veux). J'y a ajouté une class en dure (.control-group).

Au rendu pas de div wrappant. Mais comme je ne vois où positionner $entry->needs_div à 1 dans le backoffice...

Ensuite:
Il faut ajouter pour chaque input un placeholder="xxx"   le xxx devant être apparaissant dans le champ et qui est virée au clic.
Ce que j'ai ajouté n'a aucun impact.
Cette chaine serait celle saisie dans le backoffice de formBuilder ("Texte d'aide à afficher avec ce champ :") mais j'ignore où la choper..


voici ce que je souhaiterais obtenir pour chaque champs:
Code :
[== Indéfini ==]
<div class="control-group">
            <label for="contacttel" class="control-label">
              Tél. <i class="icon-bell"></i>
            </label><div class="controls">
            <input type="tel" placeholder="tél" name="contacttel" id="tel">
</div></div>

Et enfin pour que le bouton submit soit un bouton ..il ne faudrait pas un input. Là ca se corse..?


Merci

Imprimer cet élément


Posté par : BERNARDBB
13/11/2012, 09:08:15
Forum : Général
- Pas de réponse

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.2.1
#~ Url du site : course-auto-la-pommeraye.com
#~ Hébergeur / Soft : ovh manager v3
#~ Informations Système :
#~ Bonjour
#~ Je ne peut plus accéder à mon site;il me manque le mot de passe.Après plusieurs tentatives,on me renvoi vers l'administrateur de cms qui me renvoie sur ce forum.
#~ Qui peut m'aider à pouvoir me rendre à nouveau sur mon site?
#~ Merci à vous. Smile
#~ Cordialement.
#~ Bernard
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Ecrivez votre question ici.

Imprimer cet élément


Posté par : gmassart
12/11/2012, 22:55:26
Forum : Modules, Tags
- Pas de réponse

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.2.1
#~ Url du site :
#~ Hébergeur / Soft : OVH
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.11.2.1
#~ Installed Modules:
#~ CMSMailer: 5.2.1
#~ CMSPrinting: 1.0.3
#~ FileManager: 1.4.1
#~ MenuManager: 1.8.4
#~ MicroTiny: 1.2.3
#~ ModuleManager: 1.5.5
#~ News: 2.12.9
#~ Search: 1.7.7
#~ ThemeManager: 1.1.7
#~ CGFavs: 1.0.4
#~ CGExtensions: 1.31.1
#~ ExtendedTools: 1.3.3
#~ Gallery: 1.6
#~ Guestbook: 1.4_RC2
#~ TinyMCE: 2.9.11
#~ CGCalendar: 1.10.0.1
#~ FormBuilder: 0.7.3
#~ SiteMapMadeSimple: 1.2.6
#~ CGSmartImage: 1.9.5
#~ Config Information:
#~ php_memory_limit:
#~ process_whole_template:
#~ output_compression:
#~ max_upload_size: 64000000
#~ url_rewriting: none
#~ page_extension:
#~ query_var: page
#~ image_manipulation_prog: GD
#~ auto_alias_content: true
#~ locale: fr_FR.utf8
#~ default_encoding: utf-8
#~ admin_encoding: utf-8
#~ set_names: true
#~ Php Information:
#~ phpversion: 5.2.17
#~ md5_function: On (Vrai)
#~ gd_version: 2
#~ tempnam_function: On (Vrai)
#~ magic_quotes_runtime: Off (Faux)
#~ E_STRICT: 0
#~ memory_limit: 128M
#~ max_execution_time: 120
#~ output_buffering: On
#~ safe_mode: Off (Faux)
#~ file_uploads: On (Vrai)
#~ post_max_size: 64M
#~ upload_max_filesize: 64M
#~ session_save_path: /tmp (1777)
#~ session_use_cookies: On (Vrai)
#~ xml_function: On (Vrai)
#~ xmlreader_class: On (Vrai)
#~ Server Information:
#~ Server Api: cgi
#~ Server Db Type: MySQL (mysqli)
#~ Server Db Version: 5.1.49
#~ Server Db Grants: Impossible de trouver un privilège "GRANT ALL". Cela peut signifier que vous pourriez avoir des problèmes pour installer ou retirer des modules, ou encore l 'ajout et la suppression d'éléments, y compris les pages.
#~ ----------------------------------------------
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~


Bonjour
J'aimerai savoir si quelqu'un a déjà utilisé le module de recherche pour afficher les résultats des photos du module gallery.
J'ai essayé d'intégrer
Code :
{search modules="gallery"}
dans la page qui affiche une gallerie photo, mais je ne comprends pas comment ça fonctionne...

J'aimerai que la recherche se fasse sur le champ titre et sur un champ personnalisé que j'ai créé (commentaire mais mis en forme en WYSIWYG)
Le principe étant d'obtenir le comportement de cette page : http://www.blangy-sur-ternoise.com/?phot...-de-classe qui n'est pas du cmsms mais un formulaire que j'ai créé avec du code php perso
D'avance merci

Imprimer cet élément


Posté par : Jean le Chauve
12/11/2012, 19:44:13
Forum : Formations
- Pas de réponse

Suite au post et aux fréquentes requêtes, j'ai décidé de vous faire un tuto.

Contexte : nous souhaitons un menu ajoutant plusieurs classes et en particulier "last" pour chaque derniers li d'un niveau, "dropdown-menu" pour chaque <ul>, plus "submenu" sur les <ul> à partir du niveau 3, et quelques autres...
Au lieu de vous expliquer comment le coder, je vous explique ce qu'il fait.
Je vous conseille de copier le gabarit suivant dans votre notepad pour bien voir les imbrications des boucles if.
Gabarit :

Code :
{if $count > 0}
    <nav class="navbar navbar-fixed-top" id="menutop">
        <div class="navbar-inner">
            <div class="container"><h1 class="brand" >Nom du projet</h1>
            {* 1er niveau de menu ds son ul *}    
                <ul class="nav">
                {foreach $nodelist as $node}
                    {capture class assign=class}index{$node->index} lev{$node->depth} prevLev{$node->prevdepth}{/capture}
                    {capture title assign=title}{$node->pagetitle}{if $node->titleattribute neq ""}, {$node->titleattribute}{/if}{/capture}
                    {if $node->depth > $node->prevdepth}{* on est au moins ul>ul node->depth *}    
                        {if $node->depth > 2}
                            {repeat string='<ul class="dropdown-menu submenu">' times=$node->depth-$node->prevdepth}
                        {else}
                            {repeat string='<ul class="dropdown-menu">' times=$node->depth-$node->prevdepth}
                        {/if}
                    {elseif $node->depth < $node->prevdepth}{* si on descend de niveau *}
                    {repeat string='</li></ul>' times=$node->prevdepth-$node->depth}    
                    {elseif $node->index > 0}
                        </li>{* si on reste sur le même niveau que l'élément précédent}
                        {/if}
                    {/if}
                    {if $node->first == true}{* si on est sur le 1er élément d'un niveau, on concatène $class avec 'first' *}
                        {capture class assign=class}{$class|cat:" first"}{/capture}
                    {/if}
                    {if $node->last == true}{* si on est sur le dernier élément d'un niveau, on concatène $class avec 'last' *}
                        {capture class assign=class}{$class|cat:" last"}{/capture}
                    {/if}
                    {if $node->haschildren == true and $node->type != 'sectionheader' and $node->type != 'separator'}
                        {capture class assign=class}{$class|cat:" haschildren dropdown"}{/capture}
                        <li class='{$class}'><a rel="tooltip" href="{$node->url}" data-toggle="dropdown" title="{$title}">{$node->menutext}<b></b></a>
                    {elseif $node->type == 'sectionheader'}
                        <li class='{$class} sectionheader'><span>{$node->menutext}</span>
                    {else}
                        <li class='{$class}'><a rel="tooltip" href="{$node->url}" title="{$title}">{$node->menutext}</a>
                    {/if}
                {/foreach}
                        {repeat string="</li></ul>" times=$node->depth-1}
                    </li>
                </ul>
            </div>
        </div>
    </nav>
{/if}

[h]Préambule[/h]
$count est le nombre de pages actives à afficher. Dans notre exemple, il sera de 3.
L'index commence toujours à 0 (la page par défaut du site).
Le niveau ($node->depth) commence à 1 et augmente de 1 à chaque nouvelle imbrication d'<ul>.

[h]Le foreach[/h]
{foreach $nodelist as $node} $node est une tableau comprenant toutes les pages et ses propriétés sauf les inactives si paramètres par défaut. Vous pouvez l'afficher sur le frontend en insérant <pre>{$node|print_r}</pre> juste après.
Voir http://www.smarty.net/docs/en/language.f...oreach.tpl

[h]Capture[/h]
Ici, nous allons créer une variable $class pour l'utiliser comme valeur pour class="" de vos balises.
{capture class assign=class}index{$node->index} lev{$node->depth} prevLev{$node->prevdepth}{/capture}
En français, ça donne : capture le contenu qui se trouve entre la balise {capture} et sa fermeture {/capture}, crée une variable $class, évalue le contenu (s'il y a des variables comme {$qqchose}) et remplis-la avec ce contenu.
Donc ici, le contenu est index{$node->index} lev{$node->depth} prevLev{$node->prevdepth}.
$class reçoit l'index et le niveau de la page actuellement processée par le manager de menu et le niveau de la page précédemment processée.
Si on est sur le premier élément de la boucle foreach, donc la page d'accueil, $class aura pour valeur : index0 lev1 prevLev1
Voir http://www.smarty.net/docs/en/language.f...apture.tpl

{capture title assign=title}{$node->pagetitle}{if $node->titleattribute neq ""}, - {$node->titleattribute}{/if}{/capture} on crée une variable $title comprenant le title de l'élément actuel et on concatène ", {$node->titleattribute}" s'il existe. neq "" est équivalent à !="".
Même principe que pour $class, sauf qu'il y a une sous-condition dans le contenu : y-a-t-il une description ? Si oui, on l'ajoute.

[h]C'est parti[/h]
Prenons l'exemple suivant :
1 Accueil
2 Actualités
2.1 Archives

Suivons le cheminement de nos pages dans la boucle foreach, en commençant par la première : l'index 0 (page d'accueil) :
Le moteur PHP écrit <ul class="nav">

Première condition : {if $node->depth > $node->prevdepth}
Si le node actuel est d'un niveau supérieur à celui du node précédent, il est donc son enfant.
Ce n'est pas notre cas, on saute à la condition suivante.

Seconde condition :{elseif $node->depth < $node->prevdepth}
Si le node actuel est d'un niveau inférieur à celui du node précédent. Non, on saute à la condition suivante.

Troisième condition : {elseif $node->index > 0}
L'index de ma page est 0, donc non, on passe à la condition suivante.

Quatrième condition : {if $node->first == true}
Est-ce que je suis le premier node du niveau 1 ? Bin oui, donc on ajoute " first" à $class qui contenait déjà index0 lev1 prevLev1.
{capture class assign=class}{$class|cat:" first"}{/capture} : le modificateur smarty cat (un modificateur est appelé en ajoutant une | juste après la variable à traiter) permet de concaténer une string à une variable.
Voir http://www.smarty.net/docs/en/language.modifier.cat.tpl

Cinquième condition : {if $node->last == true}
Est-ce que je suis le dernier node du niveau 1 ? Oui, on ajoute " last" à $class qui contenait déjà index0 lev1 prevLev1 first.

Sixième condition : {if $node->haschildren == true and $node->type != 'sectionheader' and $node->type != 'separator'}
Ai-je des enfants ET ne suis pas un sectionheader ET ne suis pas un separator ? Non, je n'ai pas d'enfant, on saute à la condition suivante.

Septième condition SI on a dit non à la condition 6 : {elseif $node->type == 'sectionheader'}
Est-ce que je suis un sectionheader ? Non, on passe à la condition suivante.

Huitième et dernière condition SI on a dit non aux conditions 6 et 7 : {else}
C'est le cas, le moteur php écrit <li class='{$class}'><a rel="tooltip" href="{$node->url}" title="{$titel}">{$node->menutext}</a> dans le gabarit.
Ce qui donne après que smarty a évalué le gabarit :
<ul class="nav">
<li class='index0 lev1 prevLev1 first last'><a rel="tooltip" href="http://www.mondomaine.com/accueil" title="Accueil, bienvenue sur mon site">Accueil</a>

Fin de l'évaluation du premier node. Vous remarquez que nous n'avons pas encore fermé le <li>.

[h]On passe au node page 2 qui a un enfant et pas de frère[/h]
Les variables et title sont réassignées avec les nouvelles valeurs : index1 lev1 prevLev1.

Première condition : {if $node->depth > $node->prevdepth}
Non, je suis au même niveau que la page d'accueil, on saute à la condition suivante.

Seconde condition :{elseif $node->depth < $node->prevdepth}
Non, on saute à la condition suivante.

Troisième condition : {elseif $node->index > 0}
L'index de ma page est 1, donc oui. On peut fermer le li de la page précédente : </li>
Nous avons donc maintenant :
<ul class="nav">
<li class='index0 lev1 prevLev1 first last'><a rel="tooltip" href="http://www.mondomaine.com/accueil" title="Accueil, bienvenue sur mon site">Accueil</a></li>

Quatrième condition : {if $node->first == true}
Oui, on ajoute " last" à $class qui contenait déjà index1 lev1 prevLev1.

Cinquième condition : {if $node->last == true}
Est-ce que je suis le dernier node du niveau 1 ? Oui, on ajoute " last" à $class qui contenait déjà index1 lev1 prevLev1 first.

Sixième condition : {if $node->haschildren == true and $node->type != 'sectionheader' and $node->type != 'separator'}
Ai-je des enfants ET ne suis pas un sectionheader ET ne suit pas un separator ? Oui, on ajoute haschildren et dropdown à la variable $class.
PHP écrit <li class='{$class}'><a rel="tooltip" href="{$node->url}" data-toggle="dropdown" title="{$title}">{$node->menutext}<b></b></a>
Ce qui donne après que smarty a évalué le gabarit :
<ul class="nav">
<li class='index0 lev1 prevLev1 first last'><a rel="tooltip" href="http://www.mondomaine.com/accueil" title="Accueil, bienvenue sur mon site">Accueil</a></li>
<li class='index1 lev1 prevLev1 first last haschildren dropdown'><a rel="tooltip" href="http://www.mondomaine.com/accueil" title="Actualités, toutes les news et événements du mois">Actualités</a>
Et on sort de la boucle foreach puisque la condition 6 empêche 7 et 8.

[h]On passe au node page 3, les archives[/h]
Les variables et title sont réassignées avec les nouvelles valeurs : index2 lev2 prevLev1.

Première condition : {if $node->depth > $node->prevdepth}
Oui, on continue.

Sous-condition 1 : {if $node->depth > 2}
Non, on passe à la suivante

Seconde condition : {elseif $node->depth < $node->prevdepth}
Non, on passe dans le {else} :
{repeat string='<ul class="dropdown-menu">' times=$node->depth-$node->prevdepth}
Ah, ça c'est du chinois LOL
Meuh non, décryptons tout ça :
repeat string='<ul class="dropdown-menu">' veux dire "écris plusieurs fois '<ul class="dropdown-menu">'
Combien de fois ? times = $node->depth - $node->prevdepth
Donc 2 - 1 = 1
PHP écrit <ul class="dropdown-menu">' 1 seule fois.
Ce qui donne après que smarty a évalué le gabarit :
<ul class="nav">
<li class='index0 lev1 prevLev1 first last'><a rel="tooltip" href="http://www.mondomaine.com/accueil" title="Accueil, bienvenue sur mon site">Accueil</a></li>
<li class='index1 lev1 prevLev1 first last haschildren dropdown'><a rel="tooltip" href="http://www.mondomaine.com/accueil" title="Actualités, toutes les news et événements du mois">Actualités</a>
<ul class="dropdown-menu">
Comme nous avons réalisé la condition 1, on saute les elseif.

Quatrième condition : {if $node->first == true}
Oui, on ajoute " last" à $class qui contenait déjà index2 lev2 prevLev1.

Cinquième condition : {if $node->last == true}
Est-ce que je suis le dernier node du niveau 1 ? Oui, on ajoute " last" à $class qui contenait déjà index2 lev2 prevLev1 first.

Sixième condition : {if $node->haschildren == true and $node->type != 'sectionheader' and $node->type != 'separator'}
Ai-je des enfants ET ne suis pas un sectionheader ET ne suit pas un separator ? Non, on passe.

Septième condition SI on a dit non à la condition 6 : {elseif $node->type == 'sectionheader'}
Est-ce que je suis un sectionheader ? Non, on passe à la condition suivante.

Huitième et dernière condition SI on a dit non aux conditions 6 et 7 : {else}
C'est le cas, le moteur php écrit <li class='{$class}'><a rel="tooltip" href="{$node->url}" title="{$titel}">{$node->menutext}</a> dans le gabarit.
Ce qui donne après que smarty a évalué le gabarit :
<ul class="nav">
<li class='index0 lev1 prevLev1 first last'><a rel="tooltip" href="http://www.mondomaine.com/accueil" title="Accueil, bienvenue sur mon site">Accueil</a></li>
<li class='index1 lev1 prevLev1 first last haschildren dropdown'><a rel="tooltip" href="http://www.mondomaine.com/actualites" title="Actualités, toutes les news et événements du mois">Actualités</a>
<ul class="dropdown-menu">
<li class='index2 lev2 prevLev1 first last'><a rel="tooltip" href="http://www.mondomaine.com/actualites/archives" title="Archives, retrouvez toutes les news et événements archivées">Actualités</a>

Fin de l'évaluation du troisième et dernier node. Vous remarquez qu'il manque des fermetures de balises.

[h]On sort du foreach et de nouveau du chinois Wink[/h]
{repeat string="</li></ul>" times=$node->depth-1}
Ici, de nouveau, times vaut 2 - 1 = 1 et PHP écrit </li></ul> et suit par </li></ul> et les fermetures des balises <div> et <nav>.
Notre code est devenu :
Code :
<nav class="navbar navbar-fixed-top" id="menutop">
    <div class="navbar-inner">
        <div class="container"><h1 class="brand" >Nom du projet</h1>
        {* 1er niveau de menu ds son ul *}    
            <ul class="nav">
                <li class='index0 lev1 prevLev1 first last'><a rel="tooltip" href="http://www.mondomaine.com/accueil" title="Accueil, bienvenue sur mon site">Accueil</a>
                </li>
                <li class='index1 lev1 prevLev1 first last haschildren dropdown'><a rel="tooltip" href="http://www.mondomaine.com/actualites" title="Actualités, toutes les news et événements du mois">Actualités</a>
                    <ul class="dropdown-menu">
                        <li class='index2 lev2 prevLev1 first last'><a rel="tooltip" href="http://www.mondomaine.com/actualites/archives" title="Archives, retrouvez toutes les news et événements archivées">Actualités</a>
                        </li>
                    </ul>
                </li>
            </ul>
        </div>
    </div>
</nav>

Vous ne voyez pas de $node->parent ou current, je vous laisse le plaisir de le découvrir dans les gabarits par défaut et l'aide du module.
Mais, attention, $node->parent n'est true QUE pour la page parentles pages parent du $node en cours. Donc, il y a zéro ou une page répondant à la condition {if $node->parent == true}.

Enjoy Smile

Imprimer cet élément


Posté par : remsmc
12/11/2012, 17:04:38
Forum : Hébergement et référencement
- Pas de réponse

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.2.1
#~ Hébergeur / Soft :
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~

Bonjour à tous,

Voici mon soucis,
je viens d'acheter un nouveau nom de domaine :
Code :
www.emrwebsite.org
Celui-ci est bien actif, je retrouve bien mon site à cette adresse.
Mais lorsque je clique sur un lien je rebascule sur sur mon ancien domaine.


Il semblerais que mes URL soit absolus...
Comment puis-je faire pour les changer en URL relatifs ? Y'a-t-il une case à cocher dans l'interface de CMSMS, ou dois-je modifier quelque chose dans mon config.php ?

merci à ceux qui pourrons m'aider,
Bonne journée.

Imprimer cet élément


Posté par : polo
12/11/2012, 12:54:41
Forum : Modules, Tags
- Pas de réponse

Bonjour à tous,

Sur mon site, je voudrai que certains utilisateurs identifiés puissent gérer les évènements dans le FrontEnd du site.
J'ai donc créé 2 pages de "contenu protégé" :

  • 1 page "ajout d'évènement"
  • 1 page "liste des évènements" avec possibilité de modifier un évènement de la liste

Le contenu de la page "ajout d'évènement" est :
Code :
{cms_module module="CGCalendar" action="addedit_event" lang="fr_FR"}
Elle fonctionne très bien pour la création d'un nouvel évènement... Pas de problème

Le contenu de la page "liste des évènements" est :
Code :
{cms_module module="CGCalendar" display="list" reverse="true"}
Dans cette page je voudrai pouvoir modifier ou supprimer un évènement de la liste. Pour la modification d'un évènement, j'ai essayé de mettre dans mon template :
Code :
{foreach from=$events key=key item=event}
        <div class="calendar-event">
            ....
            {assign var=urlparam value=$event.event_id}
            {cms_selflink page="ajout-evenement" text="Modification" urlparam="&event_id=$urlparam"}
        </div>
    {/foreach}
Or le lien généré par le {cms_selflink...} m'envoie bien vers la page "ajout d'évènement" , mais en création. Je ne récupère pas l'event_id, bien que l'url générée soit bien http://www...index.php?page=ajout-evenement&event_id=4.

Quelqu'un a-t-il une solution qui me permettrai de faire cela simplement ?

Merci par avance.

Polo

Imprimer cet élément


Posté par : didjeko
12/11/2012, 00:13:26
Forum : Modules, Tags
- Pas de réponse

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.2.1
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~

Bonjour bonjour

Sur mon site, on peut écrire des commentaires (sur certaines pages, pas toutes) et pour cela il faut être enregistré. bon. Jusque là, j'ai su faire avec feu, selfregistration et customContent :

Sur une page contenant des commentaires, j'affiche de commentaires suivis soit du formulaire de saisie d'un nouveau commentaire, soit du formulaire de connexion si l'utilisateur n'est pas connecté.
Tant qu'à faire, j'ai ajouté un lien dans le formulaire de connexion, qui permet de se rendre directement sur la page d'inscription (je fais les inscriptions sur une page séparée, cettre page est accessible depuis le menu).
Et voilà mon souci :
Un internaute non enregistré veut commenter la page, il va cliquer sur le lien "s'inscrire" qui le mène à la page d'inscription, puis, au bout du processus (avec validation par email et tout le toutim standard), je voudrais que cet utilisateur désormais inscrit soit redirigé sur la page d'origine, et là je cale : je peux pas utiliser la fonction standard de SelfRegistration puisque on ne peut indiquer qu'un alias de page fixe.
Affecter une variable avec l'url de retour dans les pages avec commentaires ne suffit pas, puiqu'il faudrait que j'affecte cette variable si et seulement si on vient de cliquer sur le lien "S'inscrire".
Je vois bien une solution hyper lourde qui m'obligerait à dupliquer le template de connexion et la page d'inscription, mais c'est tout.

Imprimer cet élément


Posté par : gmassart
10/11/2012, 12:27:34
Forum : Général
- Pas de réponse

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.2.1
#~ Url du site :
#~ Hébergeur / Soft : OVH
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~

Bonjour
Je transfère actuellement un site que j'avais fait au départ en .html puis en .php avec des fichiers fixes puis en .php en utilisant une base de données avec wikirenderer et une sorte de CMS que j'avais développé à la main (rien de transcendant mais ça marchait pas mal)
Maintenant je transfère ça dans CMSMS, j'ai réussi à transférer mon livre d'or et mes news et l'ensemble des pages.
Je me pose maintenant la question.
J'ai par exemple une page évènements, qui regroupe en fait les évènements du village avec des photos.
Actuellement tout est fait dans des pages, mais je me demande si pour ce type de choses, ça serait pas mieux de créer des articles avec une catégorie "évènements" et ensuite afficher ces articles dans la rubrique évènements.
Après réflexion, je me dis que pourquoi pas faire le site entièrement avec la gestion des articles.
Mais dans ce cas autant utiliser un wordpress ou un truc du genre.

Voilà, qu'en pensez-vous?
Autre point, y a t'il par exemple une solution pour transformer un article en page rapidement?

le site : www.blangy-sur-ternoise.com (la version non CMSMS)

Imprimer cet élément


Posté par : elz64
09/11/2012, 11:17:24
Forum : Général
- Pas de réponse

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.2.1
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~

Bonjour,

Je ne trouve pas de doc sur comment faire un tpl de menu.

le tag {menu} n'est pas trop mal fichu mais je veux faire autre chose et maitriser la totalité des class et la structure (avec <nav> notamment).

Je veux appliquer ceci: berkhamsted-web-design.co.uk/2012/07/cmsms-menus-and-twitter-bootstrap/
mais en fait je ne vois pas où le faire ?

voila le haut du tpl perso:
Code :
[== Indéfini ==]
{process_pagedata}
{strip} {* use strip to get rid of whitespace *}

{if !isset($get_title)}
{title assign='get_title'}
{/if}
{/strip}
{* With cms_lang_info we retrieve current language information, assign gives us $nls variable we can work with *}
{cms_lang_info assign='nls'}
{* using strip as we don't want useless whitespace, especially not before doctype *}
{/strip}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang='{$nls->htmlarea()}' dir='{$nls->direction()}' class='no-js'>
<head>
<meta name="title" content="{$get_title} - {sitename}" />
<meta name="copyright" content="{sitename}" />
<meta name="description" content="{$get_content|strip_tags|truncate:'150'|strip}" />
<meta name="keywords" content="{search action='keywords' count='15'}" />
<meta name="language" content="{$lang}" />
<meta name="url" content="{root_url}" />
<meta name="identifier-URL" content="{root_url}" />
<meta name="revised" content="{modified_date format="%a, %d %b %Y %H:%M:%S"}" />
<meta name="original-source" content="{if isset($canonical)}{$canonical}{elseif isset($content_obj)}{$content_obj->GetURL()}{/if}" />

<meta name='viewport' content='initial-scale=1.0 maximum-scale=1.0 user-scalable=no' />
<meta name='HandheldFriendly' content='true' />
{* Don't remove this! Metadata is entered in Site Admin/Global settings. *}
{metadata}

{* See in news detail template how cannonical url can be assigned from module *}
{if isset($canonical)}<link rel='canonical' href='{$canonical}' />{elseif isset($content_obj)}<link rel='canonical' href='{$content_obj->GetURL()}' />{/if}

<link href="uploads/Bootstrap00/css/bootstrap.css" rel="stylesheet">
<link href="uploads/Bootstrap00/css/bootstrap-responsive.css" rel="stylesheet">
{cms_stylesheet}
<script src="lib/jquery/js/modernizr-2.6.2.js"></script>

{* Relational links for interconnections between pages, good for accessibility and Search Engine Optmization *}
{cms_selflink dir='start' rellink='1'}
{cms_selflink dir='prev' rellink='1'}
{cms_selflink dir='next' rellink='1'}
</head>
<body>

<!-- start header -->
<div id="header">
  <h1>{sitename}</h1>
</div>
<!-- end header -->

<!-- start menu -->
<div id="menu">
  {menu}
</div>
<!-- end menu -->

<!-- start content -->....


Merci



ps: le forum refuse les url dans les posts

Imprimer cet élément