Bonjour
je viens d'installer Subscribe to Comments pour le tester et je trouve ce plugin tres interressant pour ce que je veux faire
néanmoins j'aimerais pouvoir changer l'aspect de ce qui est rendu coté site (pas coté admin)
j'ai vu qu'a l'interieur il y avait des themes mais coté admin je n'ai pas trouvé comment choisir le theme
est ce qu'il est possible d'ecrire son propre theme? si oui est ce que je peux le faire dans mon propre theme et appeller Subscribe to Comments via des triggers? ou est ce que je vais devoir le faire a l'interieur du plugin et faire attention a chaque mise a jours?
de ce que je comprends dans "subscribtions_page.tpl" les themes sont verifiés en dur
{* <!-- Menubar & titrePage --> *} {if $themeconf.name == "stripped" or $themeconf.parent == "stripped"} {include file=$SUBSCRIBE_TO_ABS_PATH|@cat:'template/themes/stripped.tpl'} {assign var="clear" value="true"} {elseif $themeconf.name == "simple-grey" or $themeconf.parent == "simple"} {include file=$SUBSCRIBE_TO_ABS_PATH|@cat:'template/themes/simple.tpl'} {assign var="clear" value="true"} {else} {include file=$SUBSCRIBE_TO_ABS_PATH|@cat:'template/themes/default.tpl'} {/if}
donc je pense qu'il va fallloir que je 'hack' le plugin, juste pour changer l'apparence du rendu sur mon site..
étant plutot réticente à toucher tout ce qui est core (sauf si je ne peux pas faire autrement, et la c'est le core du plugin), je me demandais si il n'etait pas possible de pluger des plugins? afin que simplement les parties 'rendues' soient modifier et que je puisse beneficier des mises a jours des fonctionalités
merci par avance
Dernière modification par steffy (2013-08-16 07:16:33)
Hors ligne
Bonjour
non ce sont pas des thèmes, c'est de la compatibilité avec les templates de Stripped et Simple qui sont différents des autres
tout ce bloc va dégager lors de la sortie de Piwigo 2.6
comme vous faites votre propre thème ça sera toujours le dernier {include} qui sera fait (le fichier en question repprend l'architecture de themes/default/template/index.tpl), et le reste sera ignoré
Hors ligne
@Mistic100 pourquoi ne pas laissez les thèmes décider aussi ? Comme avec PWG Stuff ou les thèmes peuvent ajouter leur template : si le thème inclu un sub_to_comm.tpl dans /template alore le prendre en 2nd check après celui du plugin
@steffy: ce sont des templates, le sfichiers tpl, qui sont ajoutés parfois apr des plugins, et parfois le splugins gèrent les différences entre thèmes (le plus compliqué/long à faire)
Hors ligne
mouais, c'est possible évidement, mais ça va être une catastrophe pour les mises à jour : mes templates évoluent tout le temps, je ne peux pas demander à Zaphod ou autre de sortir une nouvelle version à chaque fois
mais en tout cas ce n'était aucunement l'objectif de ce bloc, qui est maintenant obsolète grace à ce qu'on a conçu sur le forum EN pour ajouter des pages :)
Hors ligne
Vois ce que font les plugins WP: ils s'auto intégrent si le thème est assez connu, ou utilise un snippet (juste une var) pour se déployer. Du coup le dev du thème, ou le dev du site pourra l'intégrer facilement
ça rajoute une page? ok donc oui, ce sera obsolète ^^
Hors ligne
bonjour mitic et flop
tout d'abord merci bcp pour votre intervention... et toutes l'aides que vous m'avez prodiguée ces dernieres semaines
je comprends bien que les plugins ne sont pas fait comme cela
je suis très loin d'avoir votre expérience sur piwigo, quel euphémisme, mais je n'en suis pas a mes debuts avec des cms et si cela vous interresse je peux vous donner mon avis d'utilisatrice qui est intéressée par piwigo comme une engine et non pas forcemen par les themes standarts ou ceux proposés par la communauté. bref ce qui m’intéresse le plus c'est le back office, sachant que je veux pouvoir modeler le front end celons mes contraintes.. bref je ne suis pas la pour refaire le monde ou plus modestement piwigo (que je trouve super bien foutue) mais juste apporter mes ressenties a l’édifice
je trouve que l'exemple de flop avec wordpress est tres intéressant, c'est un cms que j'utilise bcp en back office aussi.
pour l'instant je n'ai pas eu recours a bcp de plugin piwigo qui ont une influence sur le front end, mais j'ai été notamment intéressé par AMenuManager, PayPalShoppingCart, Subscribe To Comments et UserAdvManager, j'ai aussi étudie skeleton pour comprendre comme se faisait un plugin dans les règles de l'art (et j'en suis encore loin)
celui que j'ai eu le plus a modifier (et je n'aime pas cela) c'est PayPalShoppingCart, je l'ai fait car le mécanisme m'interressait, je devais vraiment modifier le front et surtout j'ai vu qu'il n’était pas mis a jours très régulièrement. bref c'est certainement celui que j'ai le plus etudier pour comprendre comment cela s’intégrait dans les tpl des themes. apres j'ai regarder d'autre theme pour voir ils ils faisaient pareil
de ce que j'ai compris pour que le plugin affiche dans le theme, soit il passe par un trigger pour faire une operation comme par exemple dans
subscribe_to_comments.inc.php
function stc_detect_section() { global $tokens, $page, $conf; if ($tokens[0] == 'subscriptions') { add_event_handler('loc_begin_page_header', 'stc_page_header'); $page['section'] = 'subscriptions'; $page['title'] = l10n('Comments notifications'); $page['section_title'] = '<a href="'.get_absolute_root_url().'">'.l10n('Home').'</a>'.$conf['level_separator'].l10n('Comments notifications'); } }
ca normalement si j'utilise le meme trigger avec un order differement je devrais pouvoir l'overrider depuis mon propre theme
soit ils utilisent des pre filter pour cibler un element définis dans le template 'de base' puis remplacer avec un str_replace
comme par exemple
function stc_main_prefilter($content, &$smarty) { ## subscribe at any moment ## $search = '{if isset($comments)}'; $replace = file_get_contents(SUBSCRIBE_TO_PATH.'template/form_standalone.tpl'); $content = str_replace($search, $replace.$search, $content); ## subscribe while add a comment ## $search = '{$comment_add.CONTENT}</textarea></p>'; $replace = file_get_contents(SUBSCRIBE_TO_PATH.'template/form_comment.tpl'); $content = str_replace($search, $search.$replace, $content); return $content; }
cela typiquement ca m'a posé un problème car je n'ai pas forcement envie que le block viennent se positionner après {$comment_add.CONTENT}</textarea></p>, je voudrais pouvoir placer le block d'affichage ou je veux dans mon template
j'ai vu que les theme avait des sortes de marker pour les plugins du genre
{if !empty($PLUGIN_INDEX_CONTENT_BEFORE)}{$PLUGIN_INDEX_CONTENT_BEFORE}{/if}
j'ai pas vraiment approfondi le sujet, mais je pense que se sont des emplacement qui doivent etre atteignable par des trigger
bref pour moi 'a la wordpress', le plus simple serait que le plugin (de facon general pour tout les plugins, par celui que j'ai cité en exemple) est un 'marker' général, (le snipet de flop, quelque chose du genre [pluginToto affichage ] ) que cela soit a l'utilisateur de l'integrer dans son template, ou que si il n'en a pas les compétences qu'un systeme de widget lui permete de le faire via le back office.. de facto cela rendrait tous les plugins compatibles avec tous les themes et surtout cela permettrait a l'utilisateur de placer les resultats ou il le désire
voila, j'espere que je ne vous ai pas saoulé, je voulais juste partager mes reflections
merci encore
Steffy
ps: désolée pour mon Français, c'est truffé de fautes..
ps2: vous parle de changement majeur de piwigo 2.6, c'est pour bientot?
Dernière modification par steffy (2013-08-16 11:48:41)
Hors ligne
les PLUGIN_* sont utilisés, notamment par PWG Stuff ou des plugins qui ajoutent leurs icônes ... ce sont des zones widget déguisées et il est vrai que l'on devrait les intégrer dans un système user friendly à la WP
la prochaine maj ajoute un tpl pour les thèmes, une page standard que sera utilisée pour les plugins comme page blanche
Donc ça devrait vous intéresser
Si vous changer le core de plugins notamment ceux comme PayPalShoppingCart, qui sont vieux et mal entretenu, je vous encourage vivement à publier (un diff ou demander à pouvoir faire un commit)
Hors ligne
juste avant d'aller manger comme ça: $template->unset_prefilter ça existe ou pas ?
Hors ligne
flop25 a écrit:
la prochaine maj ajoute un tpl pour les thèmes, une page standard que sera utilisée pour les plugins comme page blanche
en fait la partie template a été réduite une seule variable ajoutée dans index.tpl (voir http://piwigo.org/doc/doku.php?id=dev:c … stom_pages)
$template->unset_prefilter ça existe ou pas ?
non il y a Template::unload_external_filters mais je sais pas trop ce que ça fait
Hors ligne
merci flop pour votre réponse
la prochaine maj ajoute un tpl pour les thèmes, une page standard que sera utilisée pour les plugins comme page blanche
Donc ça devrait vous intéresser
est ce que vous pouvez m'expliquer un peu plus, ou me guider vers un lien ou je pourrais en apprendre plus, je ne comprends pas vraiment
Si vous changer le core de plugins notamment ceux comme PayPalShoppingCart, qui sont vieux et mal entretenu, je vous encourage vivement à publier (un diff ou demander à pouvoir faire un commit)
oui je comprends bien votre remarque et elle est très justifiée.. disons que pour l'instant je ne pense pas avoir totalement le niveau pour ré ecrire le plugin et que les modifs que j'ai fait ne s'appliqueraient pas vraiment à un plugin générique, j'ai par exemple utiliser mes propres balises coté theme pour afficher ce que je voulais du plugin.. a la facon dont je l'ai expliqué précédement, cela n'est pas vraiment conventionnel.. de plus je galère encore le combine script et le footer script coté php .. j'ai pas trouver encore les trigger a appeller pour que dans le plugin je puisse integrer des scripts et du code js proprement.. comme je suis un peu prise par le temps, je le gere coté theme, mais cela n'est pas bien..
bref quand j'aurais progressé un peu, j'espere pouvoir aussi faire une contribution sous la forme d'un plugin.. certainement une version revisitée d'un cart paypal
mais la route est loin et le fait que chaque auteur de plugin rajoute, au besoin, ses propres tables dans la db, cela me perturbe un peu
merci encore
Hors ligne
Bonjour,
Comment faire en sorte que la case a cocher "Me notifier des nouveaux commentaires" soit "cochée" par défaut ?
Merci :-)