Fork me on GitHub




(1) 2 3 4 5 »


Titre bloc: comment le modifier ?
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
Messages: 1751
Bonsoir !

Je souhaiterais modifier le titre d'un bloc pour qu'il affiche le nom du module de la page en cours.

J'ai besoin de savoir 2 choses:

1/- Comment modifier le titre d'un bloc... dans le template ? Dans le php ?

2/- J'aimerais que s'affiche le nom affecté au module courant, pas le vrai nom du module. Par exemple le module news 1.68 affiche "Articles" et pas "News" ... comment retrouver ce "Articles" ?

<{$xoops_dirname}> affiche "news" , y a-t-il un smarty qui récupère le nom affecté au module ?

J'ai vu dans le bloc "menu principal" que les noms des modules étaient récupérés par <{$module.name}>, mais si je mets cette smarty directement dans le bloc cela donne une chaine vide, car il faudrait savoir quel est le module actuellement affiché.

Merci !

Posté le : 06/08/2014 00:49

signé: LionHell
Partager Twitter Partagez cette article sur GG+
Re: Titre bloc: comment le modifier ?
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
Messages: 1751
J'ai l'impression de ne pas être assez clair, pour simplifier faisons comme si je voulais que le titre du bloc soit le nom du module en cours, donc variable selon la page affichée.

Voila ...

Posté le : 06/08/2014 01:35

signé: LionHell
Partager Twitter Partagez cette article sur GG+
Re: Titre bloc: comment le modifier ?
Admin Frxoops
Inscrit: 05/03/2005 05:20
De Vaucluse
Messages: 959
Citation :
1/- Comment modifier le titre d'un bloc... dans le template ? Dans le php ?

La définition du titre d'un bloc est définie dans le fichier /modules/momdumodule/xoops_version.php correspondant au module.
Exemple pour Publisher:
$modversion['blocks'][$i]['file'] = "items_recent.php";
$modversion['blocks'][$i]['name'] = _MI_PUBLISHER_RECENTITEMS;
$modversion['blocks'][$i]['description'] = _MI_PUBLISHER_RECENTITEMS_DSC;
$modversion['blocks'][$i]['show_func'] = "publisher_items_recent_show";
$modversion['blocks'][$i]['edit_func'] = "publisher_items_recent_edit";
$modversion['blocks'][$i]['options'] = "0|datesub|5|65";
$modversion['blocks'][$i]['template'] = "publisher_items_recent.html";

Citation :
<{$xoops_dirname}> affiche "news" , y a-t-il un smarty qui récupère le nom affecté au module ?
Essaie {$xoops_pagetitle}

Citation :
J'ai l'impression de ne pas être assez clair, pour simplifier faisons comme si je voulais que le titre du bloc soit le nom du module en cours, donc variable selon la page affichée
.Pas sûr que tu puisses le faire facilement avec les variables par défaut, à mon avis tu va devoir taper dans le code du bloc.

Posté le : 06/08/2014 07:15

Open in new window

Xoops 2.5.7.2 - Debian 8.2 - Apache 2.4.10 - MySQL 5.5.47 - Php 5.6.17
Partager Twitter Partagez cette article sur GG+
Re: Titre bloc: comment le modifier ?
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
Messages: 1751
Merci Slider.

Je savais que le nom de baptême du module était dans un define , mais je voulais le récupérer à la volée, donc avec une variable.

Je ne vais pas modifier le code php des blocs ... si la variable {$xoops_pagetitle} est bonne je l'inclurai dans le contenu du bloc au lieu du titre du bloc. Pas grave ...


Posté le : 06/08/2014 12:12

signé: LionHell
Partager Twitter Partagez cette article sur GG+
Re: Titre bloc: comment le modifier ?
Supporter Xoops
Inscrit: 09/01/2005 13:37
De Breizh
Messages: 16972
hi,

certains thèmes fournis par défaut, utilises (entre autres) :
<{$block.module}>

Posté le : 06/08/2014 14:55

La connaissance s'accroît quand on la partage ...
Partager Twitter Partagez cette article sur GG+
Re: Titre bloc: comment le modifier ?
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
Messages: 1751
@Slider84 :

{$xoops_pagetitle} fonctionne parfaitement. Elle donne même une info trop détaillée (*), mais pas grave !


@Kris :

{$block.module} ne donne rien, apparemment vide. J'avais vu cette variable en examinant system_blocks.php et il me semble que c'est un tableau en fait ...


Je vais voir s'il n'est pas trop compliqué de faire afficher cette variable dans le titre du bloc.


(*) Par trop détaillé je veux dire par exemple que si la page affichée est un article rédigé avec news, {$xoops_pagetitle} renvoie titre de l'article + nom sujet + nom module, alors que "nom module" est juste ce que je veux !

Je rappelle que {$xoops_dirname} ne convient pas car elle renvoie le "vrai" nom du module et pas celui éventuellement modifié (par exemple renvoie "news" au lieu de "articles").


Posté le : 06/08/2014 16:22

signé: LionHell
Partager Twitter Partagez cette article sur GG+
Re: Titre bloc: comment le modifier ?
Admin Frxoops
Inscrit: 05/03/2005 05:20
De Vaucluse
Messages: 959
Citation :
Je vais voir s'il n'est pas trop compliqué de faire afficher cette variable dans le titre du bloc.
Tu dois pouvoir parser facilement la variable avec un peu de javascript et te servir du résultat dans le template du bloc.

Posté le : 06/08/2014 18:04

Open in new window

Xoops 2.5.7.2 - Debian 8.2 - Apache 2.4.10 - MySQL 5.5.47 - Php 5.6.17
Partager Twitter Partagez cette article sur GG+
Re: Titre bloc: comment le modifier ?
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
Messages: 1751
Ben le problème c'est que les templates concernent le contenu des blocs ... mais apparemment pas le titre du bloc ! Non ?

Pour le titre il faut regarder ailleurs, sans doute system_blocks.php ? Je ne vois pas bien où est construit le titre du bloc.

Posté le : 06/08/2014 19:10

signé: LionHell
Partager Twitter Partagez cette article sur GG+
Re: Titre bloc: comment le modifier ?
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
Messages: 1751
Question à 100 balles ! Ce serait trop beau ... le titre du bloc est défini dans un define(...), et si , et si ... on pouvait mettre une variable dans le define !?

C'est possible ça ??

Posté le : 06/08/2014 19:41

signé: LionHell
Partager Twitter Partagez cette article sur GG+
Re: Titre bloc: comment le modifier ?
Admin Frxoops
Inscrit: 04/03/2011 09:10
De Lot
Messages: 2632
le titre du bloc est construit dans le fichier dédié (souvent dans le répertoire ./bloc du module et c'est le fichier 'bloc.php'

Dans ce fichier, il y a deux fonctions au minimum, un pour l'affichage du bloc (en général la première) et la seconde pour l'affichage de la partie configuration du bloc.

Si ce fichier n'existe pas, juste un peu coup d'oeil dans le fichier xoops_version.php, au niveau de la déclaration du bloc que tu souhaites modifier, et là tu trouveras le nom du chemin du fichier qui gère ce bloc

Posté le : 06/08/2014 19:42
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
(1) 2 3 4 5 »




Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

12 Personne(s) en ligne (4 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 12 | Plus ...