Submitted by numidviking on
Je pose sans doute beaucoup de questions mais c'est que Drupal me passionne.
Je suis confronté à un petit souci de template aujourd'hui.
(J'utilise une page page-node-edit qui me permet de conserver un affichage unique pour l'édition de tous les articles. Par exemple : un article avec un fond noir gardera en mode édition de cette façon un fond blanc lisible pour rentrer les données dans les champs sans être gêné par le graphisme appliqué à la fiche commerçant concernée.)
L'onglet "voir" m'affiche le contenu de la page page-node-42.tpl, ici
l'une de mes fiches commerçant.
J'ai dans mon type de contenu whatmille champs. J'aimerais pouvoir afficher pour cette fiche les champs adresse, plan, heures d'ouverture, informations à ma convenance en explodant donc le &content (je ne passe pas par une view donc pas de themwizard ni contemplates qui lui spécifie l'affichage de tout un type de contenu).
Comment récupérer ces valeurs de façon à les positionner à l'endroit voulu selon des div.
Comment utiliser les $output soit dans le template.php ou mieux dans le code de ma page-node-42.tpl.
Ainsi j'aurais l'adresse dans un bloc à gauche, le plan dans un bloc à droite,
plus bas dans la page un bloc heures d'ouvertures uniquement pour cette fiche, non pas pour tous les nodes de ce type de contenu.
http://drupalfr.org/forum/developpement/274-a_votre_avis_quel_est_le_mei...
Salut, C'est quoi une page
Permalien Soumis par drupalfrance le 18 Mai, 2007 - 00:44
Salut,
C'est quoi une page "page-node-edit" ? Ca vient d'où ? Ca sert à quoi ?
Concernant ta question, pas sûr de bien comprendre. A l'origine, d'où viennent les champs de ta fiche commerçant ? Si tu les as créés avec CCK, alors tu peux effectivement personnaliser l'affichage et positionner chaque champ individuellement avec contemplate.
Pour la page-node-edit
Permalien Soumis par numidviking le 18 Mai, 2007 - 16:23
Pour la page-node-edit :
page-node-edit.tpl.php
http://drupal.org/node/104316
çà me sert à designer l'édition des nodes pour l'admin ou rédacteur qui saisit les infos / ce même node aura son propre affichage avec un body class="" qui lui est spécifique.
Pour contemplate : oui j'y ai pensé mais cela m'oblige à créer un type de contenu fiche commerçant, pas grave...
Seulement,
Je cherche à réaliser un modèle de fiche suivant
a) un Entete avec :
- à gauche Logo de l'enseigne + retour à la page d'accueil ($breadcrumb) |
- à droite logo du site
b) Bloc de gauche float:left; avec :
adresse + fields pratiques(métro, velov etc...) où j'insère le $messages avec envoyer à un ami
c) Bloc de Droite avec :
descriptif (champ body) + Diaporama flash gallery
d) Pied de page
Mon code de contemplate s'avère inefficace, il ne prend pas en considération la variable $breadcrumb, ni même $message comme l'ajout d'un bloc de menu
Je cherche en fait le moyen de récupérer selon une méthode semblable à celle indiquée sur ce lien http://drupal.org/node/129295 mais encore bien obscure, les $item_nid CCK pour les mettre dans page-node-113.tpl.php. J'aurais ainsi pour certaines page-nodes-x.tpl.php la possibilité d'enlever $content, pouvant mettre où bon semble les champs cck désirés
Ma solution est la
Permalien Soumis par numidviking le 19 Mai, 2007 - 12:23
Ma solution est la suivante
Récupérer chaque champ CCK avec un node personnalisé /* CODE ISSUE http://chapterthreellc.com/node/70 */
Page view:
1) node-[nid]-page.tpl.php Node by itself on a page, specific NID 2) node-[type]-page.tpl.php Node by itself on a page, specific type 3) node-default-page.tpl.php Node by itself on a page, default Listing/Teaser view:
4) node-[nid].tpl.php Node in list/teaser, specific NID 5) node-[type].tpl.php Node in list/teaser, specific type 6) node.tpl.php Node in list/teaser, default.
Dans Template.php
function _phptemplate_variables($hook, $vars = array()) {
switch ($hook) {
case 'node':
// Here is the way to switch to a different node-<something> template based on node properties.
if ($vars['page']) {
// This is LIFO (Last In First Out) so put them in reverse order, i.e
// most important last.
$vars['template_files'] = array('node-default-page', 'node-'. $vars['node']->type .'-page', 'node-'. $vars['node']->nid .'-page');
}
else {
$vars['template_files'] = array('node-'. $vars['node']->nid);
}
break;
}
return $vars;
}
Je peux donc à la fois paramètrer les cck views que je veux selon mes blocs div et leur positionnement selon une charte graphique propre à cette fiche avec le node de l'article 113 pour le $content concerné et sur la page de ce node faire d'autres modifs
node-113-page.tpl.php page-node-113.tpl.php
Dans ma page node-113-page.tpl.php je récupère chaque champ cck ainsi
/* CODE ISSUE http://drupal.org/node/144829 */
me récupère tout le contenu
Je cherche ce matin la solution pour ne récupérer que le corps 'body' de mon body global.
Je suis preneur si vous avez une astuce juste sur ce dernier point.
Pour le corps body: print
Permalien Soumis par pmoigne le 22 Janvier, 2008 - 19:28
Pour le corps body:
print $node->content['body']['#value'];