Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[Résolu] transfert d'un site CMSms 1.9.2 OVH vers 1.11.9 Win2008 privé
#26
http://apidoc.cmsmadesimple.org : tu as toute la documentation php au sens premier du nom.

malheureusement ce n'est pas une documentation utilisateur, c'est une doc pour les développeurs.
#27
Citation :Cela me donne le nom du fichier image a mettre en background du header

si c'est pour afficher une image dans le header de la page

il te suffit par exemple de mettre dans la page
- Options / Balise Smarty spécifiques pour cette page :{assign var="show_ban" value="imagex"}

et dans la gabarit de tes pages

{if $show_ban == "imagex"}
<div id="headerimagex">
{elseif $show_ban =="imagex1"}
<div id="headerimagex1">
{else}
<div id="header">
{/if}

et de prévoir dans la feuille de style différent div#headermagex ,div#headermagex1...
avec
background:url(uploads/images/ton_imageheader.jpg) ....
J-C Etiemble Tutoriels v 2.2.x
#28
Merci pour le lien, je suis développeur mais pas en php comme j'ai déjà indiqué.

En attendant je suis arrivé à refaire la balise utilisateur headerbackground précédement indiqué, en remplaçant par ceci et le résultat est identique à l'original:
$img_path = cmsms()->config['image_uploads_url'].'/';
$gCms = cmsms();
$contentops = $gCms->GetContentOperations();
$content_obj = $contentops->GetContentObject();
if (!$content_obj)
{
echo $img_path.'rub01.jpg';
}
else
{
$img = $content_obj->GetPropertyValue('image');

if($img>=0) {
echo $img_path.$img;
}
else {
//image par défaut
echo $img_path.'rub01.jpg';
}
}
#29
Bonjour,
Comme le dit notre ami Jce, le plus important est de connaître le but de l'udt qui pose problème pour tenter de t'aider à le résoudre sans partir dans tous les sens.
Pour ma part, en lisant le code de l'udt, il me semble (99%) qu'il sert à récupérer le nom de l'image uploadée dans le champs "image" de l'administration de la page en cours d'utilisation et de l'afficher si l'image existe sinon d'en appeler une par défaut.
J'ai explicité la technique pour ce faire ici : http://www.cmsmadesimple.fr/forum/viewtopic.php?id=2402
Aussi, il te suffit de remplacer l'appel de l'udt par ce code dans ton gabarit :
Code :
{capture name='image'}{page_image}{/capture}
{if ($smarty.capture.image ne '')}
<img src="uploads/images/{page_image}" alt="{page_image}" class="taClasse" />
{else}<img src="uploads/images/rub01.jpg" alt="rub01.jpg" class="taClasse" />
{/if}
#30
Jce
En fait dans chaque page une variable image est spécifié, contenant l'image ruban à afficher, c'est stocké dans la base de données dans la table cms_content_props sous le nom image, donc je suppose variable utilisateur que je n'ai pas trouvé dans l'édition de la page (enfin pour le moment).

Le principal est que j'ai pu réactiver la balise, après j'en convient que ne n'est peut être pas la meilleur façon de concevoir un site, mais là je ne fait que réactiver un site tel qu'il est à l'origine. Plus tard je verrais de le refaire si j'ai la prise en charge financière.
#31
Je pense que ton nouveau code n'est pas correct et amènera des bugs :
$content_obj = $contentops->GetContentObject();
if (!$content_obj)
$content_obj peut représenter le nom du fichier image, mais également n'importe quel autre objet.
#32
Je vois que le code html correspondant est celui-ci :
<div id="header" style=" background:url('{headerbackground}') no-repeat top left;">

à remplacer par :
{capture name='image'}{page_image}{/capture}
{if ($smarty.capture.image ne '')}
<div id="header" style="background:url('uploads/images/{page_image}') no-repeat top left;">
{else}<div id="header" style="background:url('uploads/images/rub01.jpg') no-repeat top left;">
{/if}
#33
merci jean... je ferais le test cette après midi.

En attendant j'ai modifié l'ancienne balise utilisateur pour le titre , avant en 1.9.x:

global $gCms, $smarty;
$hm =& $gCms->GetHierarchyManager();
$pageinfo =& $gCms->variables['pageinfo'];
$pageAlias = $pageinfo->content_alias;
$curpage =& $hm->getNodeByAlias($pageAlias);
$curpagecontent =& $curpage->GetContent();
if ($curpagecontent->HasChildren()) {
$smarty->assign('content_id', $pageinfo->content_id);
$smarty->assign('content_alias', $pageinfo->content_alias);
$smarty->assign('hierarchy', $pageinfo->hierarchy);
$smarty->assign('hierarchy_path', $pageinfo->hierarchy_path);
}
if ($pageinfo->content_titleattribute !="")
{echo $pageinfo->content_titleattribute;}
else
{echo $pageinfo->content_title;}

et l'appel dans le gabarit était:

{if isset($detail_title)}
<title>{sitename} - {$detail_title}</title>
{else}
<title>{supertitle}</title>
{/if}



Maintenant:

$gCms = cmsms();
$contentops = $gCms->GetContentOperations();
$content_obj = $contentops->GetContentObject();
if (!$content_obj)
{
echo '';
}
else
{
$titre = $content_obj ->Name();
echo $titre;
}

et dans le gabarit j'ai maintenant ceci:
{if isset($detail_title)}
<title>{sitename} - {$detail_title}</title>
{else}
<title>{sitename} - {supertitle}</title>
{/if}

Le but étant juste d'avoir le titre du contenu qui s'affiche avec le nom du site dans la barre du navigateur, il y a peut être plus simple, mais comme je l'ai dit, je cherche juste pour le moment fonction par fonction a faire refonctionner le site pour présentation et mutation du dns, après je reprendrais tout ceci à plat sur un sous domaine et une installation vierge et base de données vierge.
#34
Jean le Chauve a écrit :Je pense que ton nouveau code n'est pas correct et amènera des bugs :
$content_obj = $contentops->GetContentObject();
if (!$content_obj)
$content_obj peut représenter le nom du fichier image, mais également n'importe quel autre objet.
Idem pour cette udt...

Pour ma part, il semble que ton problème principal, c'est à dire le transfert du site sur le serveur windows, a été résolu.
Il serait bon que tu clôtures ce post avec un [Résolu] dans son titre.
Tu devrais ouvrir un nouveau post dans le topic "modules, Tags" pour tes problèmes d'udt.
#35
ok, j'ai créé le sujet ici: http://www.cmsmadesimple.fr/forum/viewtopic.php?id=5462


Atteindre :


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