Description
Thélia est un logiciel libre de vente en ligne basé sur un système boucle/balise très proche de celui de SPIP.
Ce plugin permet d’activer le moteur de Thélia [1] après celui de SPIP lors du calcul des pages, ce qui va vous permettre d’utiliser directement les boucles au format Thélia dans vos squelettes :
- vous gérez votre site SPIP et le catalogue Thélia depuis l’espace privé SPIP
Le plugin est livré avec tous les squelettes spécifiques pour la vente en ligne : panier.html commande.html .... basés sur la dist, et prêts à être personnalisés.
Documentations complémentaires
- Utilisation avancée du plugin Thélia
- Insérer des produits Thélia dans les articles
- Wiki Thélia
Installation
Pour fonctionner, ce plugin requiert une installation préalable du logiciel Thélia en version 1.3.3 ou supérieure et dans le même répertoire que SPIP.
C’est à dire qu’après l’install vous devriez avoir une arborescence du style :
/
/admin
/classes
/client
/config
/ecrire
/fonctions
/IMG
/lib
/local
/oo
/plugins
/template
/tmp
index.php
spip.php
...etc...
Je vous invite à consulter le site de Thélia pour obtenir toutes les informations nécessaires sur l’installation de thélia (en gros, copiez les fichiers puis lancez /install) [2].
Vous pouvez installer SPIP et Thélia dans la même base.
Etape 1 : Installation du plugin.
Récupérez le zip du plugin thélia, ainsi que celui du plugin CFG, sur l’espace de téléchargement de la Zone : https://files.spip.net/spip-zone/ [3]. L’installation se déroule ensuite comme pour tous les autres plugins, cf. https://www.spip.net/fr_article3396.html
L’installation se fait dans le répertoire /plugins/plugin-thelia
Etape 2 : Fichiers de redirection.
Vous avez deux possibilités :
- copier les fichiers contenus dans le répertoire plugin-thelia/pb_htaccess
à la racine de votre site (recommandé)
- ou copier le contenu du fichier htaccess.plugin_thelia.txt
fourni avec le plugin dans le fichier .htaccess à la racine de votre site.
Pour spip 2.0 et Thélia < 1.5.1 vous devez également :
- modifier le fichier /ecrire/inc/utils.php et mettre en commentaire la fonction chemin() (ligne 671),
- copier le contenu du répertoire plugin-thelia/squelettes_spip2.0
dans votre répertoire /squelettes
Pour Thélia 1.5 (inutile pour Thélia 1.5.1), vous devez :
- désactiver l’encodage en UTF8 dans le panneau CFG du plugin Thélia
- remplacer dans le fichier /fonctions/hierarchie.php
les fonctions suivantes : (Merci à A. Bourdeau pour cette information)
// Renvoie le chemin pour aller à une hierarchie d'objets, avec protection contre les
// références circulaires dans la hiérarchie d'objets.
function _chemin($id, $nomobj, $lang=1){
$ids = array();
$tab = array();
$tobj = new $nomobj();
$tobj->parent = $id;
$objdesc = $nomobj."desc";
// On doit toujours retourner au moins un element, sinon bouclage dans l'admin...
$tab[] = new $objdesc();
$idx = 0;
while(intval($tobj->parent) != 0) {
$ids[] = $tobj->parent;
$tobjdesc = new $objdesc();
if (intval($tobj->parent) > 0 && $tobj->charger($tobj->parent) && $tobjdesc->charger($tobj->id, $lang))
{
if (in_array($tobj->parent, $ids))
{
die("Référence circulaire détectée dans la hiérarchie des ${nomobj}s à partir de l'ID=$tobj->id. Chemin: ".implode(" -> ", $ids));
}
$tab[$idx++] = $tobjdesc;
}
else
{
// Chargement impossible -> arrêt
break;
}
}
return $tab;
}
// renvoie le chemin pour aller à une rubrique donnée
function chemin($id, $lang=1){
return _chemin($id, 'Rubrique', $lang);
}
// renvoie le chemin vers un dossier
function chemin_dos($id, $lang=1){
return _chemin($id, 'Dossier', $lang);
}
par :
// Renvoie le chemin pour aller à une hierarchie d'objets, avec protection contre les
// références circulaires dans la hiérarchie d'objets.
function _chemin_thelia($id, $nomobj, $lang=1){
$ids = array();
$tab = array();
$tobj = new $nomobj();
$tobj->parent = $id;
$objdesc = $nomobj."desc";
// On doit toujours retourner au moins un element, sinon bouclage dans l'admin...
$tab[] = new $objdesc();
$idx = 0;
while(intval($tobj->parent) != 0) {
$ids[] = $tobj->parent;
$tobjdesc = new $objdesc();
if (intval($tobj->parent) > 0 && $tobj->charger($tobj->parent) && $tobjdesc->charger($tobj->id, $lang))
{
if (in_array($tobj->parent, $ids))
{
die("Référence circulaire détectée dans la hiérarchie des ${nomobj}s à partir de l'ID=$tobj->id. Chemin: ".implode(" -> ", $ids));
}
$tab[$idx++] = $tobjdesc;
}
else
{
// Chargement impossible -> arrêt
break;
}
}
return $tab;
}
// renvoie le chemin pour aller à une rubrique donnée
function chemin($id, $lang=1){
return _chemin_thelia($id, 'Rubrique', $lang);
}
// renvoie le chemin vers un dossier
function chemin_dos($id, $lang=1){
return _chemin_thelia($id, 'Dossier', $lang);
}
Pour zpip, vous devez :
- copier le contenu du répertoire plugin-thelia/squelettes_zpip
dans votre répertoire /squelettes
Un bouton vous permet d’accéder au catalogue Thélia depuis l’espace privé SPIP (Edition->Catalogue Thélia) :
Modification légère de la syntaxe de Thélia
Certaines balises Thélia sont identiques aux balises SPIP, par exemple #TITRE
, #CHAPO
. Pour éviter une confusion entre les deux moteurs, il sera nécessaire de modifier légèrement la syntaxe des balises Thélia.
La modification à faire est la suivante : préfixer les balises du mot THELIA-
et supprimer le caractère #
.
Ainsi, la balise #TITRE
se rapportant à un titre Thélia doit être renommée THELIA-TITRE
Exemple de boucle Thélia
Pour illustrer la ressemblance entre la syntaxe SPIP et la syntaxe Thélia, voici un exemple de boucle simple (liste des rubriques du site)
Boucle SPIP :
<ul>
<BOUCLE_rubriques(RUBRIQUES)>
<li><a href="#URL_RUBRIQUE">#TITRE</a></li>
</BOUCLE_rubriques>
</ul>
Boucle Thélia :
<ul>
<THELIA_rubriques type="RUBRIQUE">
<li><a href="#URL">#TITRE</a></li>
</THELIA_rubriques>
</ul>
Boucle Thélia adaptée pour le plugin :
<ul>
<THELIA_rubriques type="RUBRIQUE">
<li><a href="THELIA-URL">THELIA-TITRE</a></li>
</THELIA_rubriques>
</ul>
Pour en savoir plus sur les boucles et balises Thélia, consultez le wiki Thélia
Discussions par date d’activité
304 discussions
Une amélioration pour compatibilité avec le plugin bandeau en partie privée : http://www.spip-contrib.net/Bandeau...
Répondre à ce message
Le passage en 2.1.1 est source de message d’erreurs lorsque qu’un administrateur essaye se connecter.
Impossible, et une liste de lignes du type
Notice : Undefined offset : 2 in /home/xxxcom/ecrire/auth/sha256.inc.php on line 207
Bonjour,
Personnellement, ce problème s’est résolu en changeant de version PHP : version 5.2 -> version 5.3.
Je n’en connais pas l’origine.
Fred
Mince, mince, mince je suis en 5.2.3.
Merci pour l’info
Bonjour,
Je rencontre exactement le problème décrit plus haut avec un SPIP 2.1.1 ( liste de lignes du type « Notice : Undefined offset... ».
Pourtant j’ai changé ma version xampp (PHP 5.3.1 et mysql 5.1.41).
Un fois déconnecté, impossible de revenir en partie privée
Il doit y avoir autre chose comme problème..
Franck
Pardon, petit rectificatif :
Je suis en SPIP 2.1.2
Franck
@franckGre quelque part cela me rassure
Normalement demain je dois y jeter un oeil, va falloir trouver une solution, maintenant ça urge
Bonsoir Philippe,
Alors, avez vous trouvé une solution concernant le problème de connexion dans la partie privée ?
Revenir à une version antérieure de SPIP permet-il de l’éviter ?
Je dois proposer une solution sous 2 semaines, et du coup suis très intéressé de savoir si le plugin SPIP-Thélia fonctionne.
Si quelqu’un a une réponse..
Merci,
Franck
Sincèrement je ne sais pas trop.
J’ai supprimé le plugin, mis les fichiers du répertoire ecrire/auth de la version 2.10, puis remis le plugin, puis remis les fichiers de ecrire/auth de la 2.1.2, réactiver le tout, et cela ne fonctionnait pas.
Le lendemain sur un autre ordi, et chez une autre personne cela fonctionnait !!!
Je n’ose plus y toucher
Bonjour,
J’ai fais une modif du plugin dernièrement pour corriger ce problème : il y avait un conflit entre les sessions spip d’admin et les session spip/thélia de client.
Le pb intervient quand on est connecté en admin dans spip.
Lorsque le pb survient, il faut vider les cookies de session dans le navigateur.
Merci Arnaud pour ces précisions
@Arnault
Bonjour Arnault,
En lisant ton post (conflit entre les sessions SPIP et Thélia), doit on comprendre que le problème est résolu dans une dernière version du plugin, ou qu’il faut encore éventuellement aller supprimer les cookies ?
Si cela ne me pose pas de problème pour un site perso, j’imagine moins la manip sur un site ou il faudrait que l’utilisateur vide ses cookies.
En tout cas, merci pour ce plugin et pour la réponse
@ Arnault Arghh, ça ne fonctionne plus.
Peux tu expliquer « Lorsque le pb survient, il faut vider les cookies de session dans le navigateur »
J’ai testé en ayant aucun cookie, et cela ne fonctionne pas...
Bonjour à tous,
Bravo pour ce plugin il est très utile.
Je suis en pleine installation et j’ai le même problème que vous.
SPIP : 2.1.2
plugin-THELIA : 1.4
thelia : 1.4.3.1
une fois le plugin thelia activé il m’est impossible de me reloger en admin même si je vide les cookies.
Avez-vous trouvé une solution à ce problème ?
Damien
Bonjour à tous,
SPIP : 2.1.2 // plugin-THELIA : 1.4 // thelia : 1.4.3.1
PHP Version 5.2.13 // MySql 5.3
Je rencontre le même problème mais avec plus de messages d’erreur en revanche. Pour avoir installé l’ensemble ce jour, tout s’est bien passé jusqu’à ce que je décoche une des cases du plugin thelia via CFG lors de mes tests, celle qui indique « liaison unique spip / thélia » (je n’ai pas retenu la définition exacte...) et je me suis automatiquement fait éjecté de l’admin... mais euh ! :(
Quelle idée d’avoir décoché cette case me direz-vous : bah oui mais quand on teste, on teste... ça me refroidit juste un peu pour la mise en production alors que Thélia + SPIP me semble une excellente idée = un grand bravo / merci au passage, et j’aimerais bien continuer à pousser la chansonnette ! :)
Depuis, impossible de se loguer sur l’admin avec le même message d’erreur signalé - plus d’autres :
Notice : Undefined offset : 0 in / ... /ecrire/auth/sha256.inc.php on line 207
Notice : Undefined index : message_ok in / ... /plugins/plugin-thelia/formulaires/login.php on line 230 et 66
Notice : Constant _terminaison_urls_propres already defined in/ ... /ecrire/urls/propres.php on line 44
Notice : Undefined index : vars in/ ... /ecrire/public/composer.php(49) : eval()’d code on line 83
Notice : Undefined index : filtre_compacte_head in / ... /ecrire/inc/filtres.php on line 43
Notice : Undefined index : filtre_compacte_head_dist in/ ... /ecrire/inc/filtres.php on line 43
Notice : Undefined index : compacte_head in / ... /ecrire/inc/filtres.php on line 43
Les conseils précités ne fonctionnent malheureusement pas (même depuis un autre poste ;) et comme je tourne en rond avec mes connaissances limitées en php, je me tourne vers vous .
Merci d’avance,
Raphaël
Bonjour,
Rectification config : mysql 5.0
Pour avoir tout réinstallé ’from scratch’ sur un nouvel hébergement, et avec les seuls plugins dédiés à la gestion de Thelia sous SPIP, je me retrouve au final avec strictement les mêmes messages qu’énoncés précédemment.
La seule différence par rapport à hier est que l’accès à SPIP est devenu impossible à partir de l’instant où j’ai demandé à regarder une fiche produit en ligne depuis le catalogue thélia, donc via le plugin. J’ai obtenu un message d’erreur « Fatal error : Call to a member function poids() on a non-object in \fonctions\substitutions\substitpanier.php on line 116 ». J’ai effectivement renseigné le poids sur la fiche du produit. La fiche est devenue accessible en vidant les cookies - comme cela est conseillé sur le forum.thelia.fr - mais c’est à partir de ce moment là que l’accès à l’admin de spip est devenu impossible.
La boutique seule - elle - fonctionne correctement.
Faut-il revenir à une version antérieure de SPIP ou un correctif est-il envisagé ?
Merci d’avance,
Raphaël
Dernière tentative pour ma part : reparti d’un spip ’vide’ avec squelettes par défaut.
Installation Thélia => ok
Installation CFG => ok
Installation + configuration du plugin thelia => ok
Je me logue sur thélia => ok
Je me délogue de Thélia => ok
Je me délogue de SPIP + reconnexion = Messages d’erreurs identiques...
Bonjour,
La solution suivante n’est pas à mon sens des plus optimales mais l’ajout du code suivant dans le inc_version.php m’a permis de pouvoir accéder de nouveau à l’admin de SPIP :
ini_set(’display_errors’, 0) ;
Même chose pour moi.
J’avais eu le problème en local mais j’avais réussi à le faire disparaitre.
Mais je viens d’installer sur le serveur, et là catastrophe, j’ai le bug. Et je n’arrive plus à me connecter à mon espace privé.
J’ai essayé la méthode de Raphaël mais cela ne donne rien.
J’ai essayé avec deux navigateurs différents : idem.
Quelqu’un a t’il trouvé comment débloquer en attendant un correctif ?
Bruno,
As-tu bien vidé le cache + cookies de ton navigateur ? Je suppose que oui mais on ne sait jamais... ;) Je suppose également que tu utilises les mêmes versions de Spip + plugins + Thélia.
As-tu obtenu les mêmes messages d’erreur que ceux précédemment indiqués, lorsque tu essayes de te loguer, ou d’autres ?
Je ferai ce que je peux pour aider (à la hauteur de mes capacités) en attendant un signe de la communauté.
Bonjour Raphael
OUI, les mêmes messages d’erreur :
- Notice : Undefined offset : 13 in /home/www/client/www/monsite/ecrire/auth/sha256.inc.php on line 207
- Notice : Undefined index : message_ok in /home/www/client/www/monsite/plugins/auto/plugin-thelia/formulaires/login.php on line 230
- otice : Undefined index : cs_outils in /home/www/client/www/monsite/plugins/auto/couteau_suisse/cout_lancement.php on line 242
- Notice : Undefined index : cs_outils in /home/www/client/www/monsite/tmp/couteau-suisse/mes_outils.php on line 3
- Notice : Undefined index : message_ok in /home/www/client/www/monsite/plugins/auto/plugin-thelia/formulaires/login.php on line 230
- Notice : Undefined index : redirect in /home/www/client/www/monsite/plugins/auto/plugin-thelia/formulaires/login.php on line 66
Ensuite, il m’indique :
problème de cookie
Pour vous identifier de façon sûre sur ce site, vous devez accepter les cookies.
Veuillez régler votre navigateur pour qu’il les accepte (au moins pour ce site).
Alors que les cookies sont autorisés.
J’ai bien vidé le cache, et tout l’historique.
J’ai le problème sur plusieurs PC, différents navigateurs, comme si c’est quelque chose qui bloque sur le serveur.
Je ne sais pas quoi faire.
Je recherche une solution pour me débloquer.
Un répertoire à effacer ?
C’est bizarre. J’ai commencé mon développement avec le plugin THELIA il y a un peu plus d’un mois, et je n’ai rencontré ce problème en local (easyphp) qu’une seule fois. J’ai réussi à le faire disparaitre en supprimant les cookies et le cache.
Là, je viens d’installer le plugin en distant (serveur) et le bug est apparu quasiment immédiatement. Impossible de me connecter à mon espace privé depuis plusieurs jours.
Mais le plus bizarre, c’est que depuis, je n’arrive plus à me connecter en local non plus.
L’effacement du cache et des cookies n’y font rien.
Je suis coincé et cela devient catastrophique pour mon activité.
Un message de la part des créateurs du plugin aiderait à me rassurer.
Bonjour,
Pour pouvoir rentrer de nouveau dans l’espace privé, j’ai renommé tous les noms des répertoires dans le répertoire plugins. Ensuite je réactive les plugins 1 à 1.
Mais le problème revient dès que je me délogue et me logue de nouveau
Damien
Pour masquer les erreurs du type « Notice : Undefined index... » il faut ajouter cette ligne dans un fichier htaccess :
php_value display_errors off
Ou régler la configuration dans le fichier php.ini :
display_errors = off
Une différence importante entre l’exécution en distant et local :
A un moment donné, j’ai un lien « vous est enregistré... par ici ».
Une page s’affiche alors indiquant une erreur avec les cookies.
Mais grosse différence :
- en local, j’ai un lien supplémentaire qui me permet de me connecter avec une méthode moins sécurisé. Et cela me permet de rentrer dans l’espace privé et de continuer de travailler.
- en distant, je n’ai pas ce message et je suis bloqué.
Comment fait-on pour forcer l’identification SANS cookie ?
PS : cette méthode me permets de rentrer dans l’espace privé, sur mon site installé en local.
Par contre, cette option ne m’est pas proposée en distant. Je voudrais la forcer.
EUREKA !
J’ai renommé le répertoire plugin
puis le répertoire /tmp/cache
et j’ai réussi à rentrer dans l’espace privé.
Puis j’ai remis le bon nom de répertoire plugin.
J’ai réactivé les plugins un par un sauf plugin-thelia.
OK
Puis j’ai réactivé spip-thelia. Et cela marche.
Mais à mon avis, à la prochaine demande de connexion (expiration du cookie), je suis bon pour tout recommencer.
Bon cela ne résoud pas le probème du plugin thelia mais cela permet de retourner dans l’espace privé.
même probleme avec une install fraiche ....
idem avec une autre install sur spip 2.1.1 rofl
Bonjour à tous,
De retour dans la boucle...
Jfefe => L’ajout de « php_value display_errors off » dans les réglages personnalisés du fichier .htaccess (racine du site) aboutit à une 500 internal server error : j’ai raté quelque chose ? L’ajout du ini_set(’display_errors’, 0) ; dans le inc_version.php fonctionne pour ma part très bien.
Nonobstant le temps nécessaire et les difficultés liées aux corrections et développements, pensez-vous qu’un correctif du plugin verra prochainement le jour ?
A défaut et dans l’intervalle, pouvez-vous nous indiquer quelle version de SPIP il faut utiliser pour avoir un peu plus de stabilité ?
Dans l’attente d’une réponse, bon courage à tous et merci - malgré tout. ;)
Raphaël
J’ajoute un nouveau défaut : l’activation du plugin thelia modifie l’interface d’administration de SPIP, de manière gênante. En effet, je n’ai plus accès aux rubriques situées à la racine en activant le plugin et l’affichage des rubriques est cassé - cf image jointe.
Un rapport avec les erreurs notice précédemment indiquées et masquées ?
je n’avais pas lu la solution proposée sur l’article sur l’utilisation avancée du plugin.
Au temps pour moi et merci JulienC
Je ne peux pas mettre en ligne ma boutique (deux mois de développement) car cela empêche mes abonnés de se connecter aux sites.
Toujours pas de réponses de la part des créateurs de ce plugin, sur ce bug qui a maintenant 3 mois.
Cela devient angoissant.
Je suis prêt à donner de mon temps pour faire avancer ce plugin. J’ai qq connaissances en PHP mais je n’y connais rien en authentification spip.
Salut, Il y a eu plusieurs problèmes évoqués, lequel est bloquant pour la livraison de ton site ?
Bonjour Arnault
Je suis soulagé et heureux de te lire.
C’est le problème d’authentification : si j’active le plugin, les admins/rédacteurs/visiteurs inscrits ne peuvent plus se connecter. Il y a plusieurs dizaines de messages « Notice : Undefined index... » qui s’affichent.
Le message final, sur la page d’authentification, indique qu’il y a un problème de cookie.
Mais la suppression des cookies et des sessions n’y font rien. Quelque soit le navigateur et l’ordinateur que j’utilise. C’est qq chose qui coince au niveau serveur, dans les pages du cache je pense.
Je ne peux plus, en tant qu’admin, me connecter à l’espace privé.
Les articles réservés à mes membres inscrits, deviennent inaccessibles.
Pour tout faire rentrer dans l’ordre, je dois désactiver le plugin thelia en renommant par FTP le répertoire du plugin, puis je dois effacer le cache, toujours par FTP.
Et là, j’ai de nouveau accès à l’espace privé, mais ma boutique n’est plus active.
Si je réactive ma boutique, le bug réapparait.
MERCI pour ton aide
peux tu m’envoyer en mp un lien vers le site et un accès à écrire (en admin) que je regarde ?
pour le pb de redirection, c’est souvent un pb lié à un plugin ou au fichier mes_options.php qui contient des espaces après
?>
il faut désactiver l’affichage des notices php au niveau de ton hébergement
quels plugins sont installés, as-tu toujours le pb si seul le plugin thélia est activé ?
je ne comprends pas lorsque tu dis que tu que tu ne vois pas certains articles dans l’espace privé.... page blanche ? pb d’affichage ? ou ils ne sont pas visibles du tout dans la hierarchie ?
il y a le plugin accès restreint ?
je n’ai jamais rencontré les pb évoqués, toutefois il faut bien avoir en tête que l’authentification unique spip/thélia est une fonctionnalité « expérimentale » et indiquée comme telle dans le panneau cfg du plugin.
J’ai désactivé tous les plugins.
Mais j’ai laissé SPIP-CFG indispensable à thelia-spip, et BONUX indispensable à mon squelette.
Et le bug apparait quand-même.
Tant que l’on ne se connecte pas avec un compte thelia, cela marche.
Mais si on se connecte thelia, puis que l’on se connecte en tant que spip, cela bug.
OUI, j’utilise acces-restreint.
Cela me permet de présenter des articles réservés à certains membres.
Et ce sont ces membres qui n’arrivent plus à se connecter.
Je n’ai pas dis que je ne voyais pas certains articles dans l’espace privé. Mais que les membres n’ont pas à accès à certains articles en espace restreint. Puisqu’ils n’arrivent pas à s’authentifier.
La désactivation des messages ne règlera pas le problème de fond. c.a.d l’impossibilité de se connecter en spip.
L’authentification unique n’était pas sélectionnée. Alors je l’ai activé pour voir. Mais c’est pareil.
Je te passe un login admin en mp
Bonjour,
j’ai exactement le même problème que Raphael et Bruno
Tout fonctionnait bien en local mais une fois en ligne, impossible, une fois déconnecter , de se re-connecter
Voici les messages d’erreurs (les mêmes que Raphael) :
Notice : Undefined offset : 0 in / ... /ecrire/auth/sha256.inc.php on line 207
Notice : Undefined index : message_ok in / ... /plugins/plugin-thelia/formulaires/login.php on line 230
Notice : Undefined index : vars in/ ... /ecrire/public/composer.php(49) : eval()’d code on line 83
Notice : Undefined index : filtre_compacte_head in / ... /ecrire/inc/filtres.php on line 43
Notice : Undefined index : filtre_compacte_head_dist in/ ... /ecrire/inc/filtres.php on line 43
Notice : Undefined index : compacte_head in / ... /ecrire/inc/filtres.php on line 43
Notice : Undefined index : message_ok in / ... /plugins/plugin-thelia/formulaires/login.php on line 230 et 66
J’ai essayé les solutions proposées en vidant a chaque fois cache et cookies :
- chez moi aussi l’ajout d’un httaccess me donne « 500 internal server error »
- j’ai ajouté ini_set(’display_errors’, 0) ; dans le inc_version.php, mais ça ne change rien, les erreurs apparaissent toujours (a moins que je ne le mette pas au bon endroit dans le fichier)
- renommer le /tmp/cache ne change rien non plus
et enfin si je renomme le dossier du plugin thelia j’obtiens ces 2 erreurs :
Warning : include_once(/.../plugins/plugin-thelia/formulaires/login.php) [function.include-once] : failed to open stream : No such file or directory in /.../ecrire/inc/utils.php on line 678
Warning : include_once() [function.include] : Failed opening ’/.../plugins/plugin-thelia/formulaires/login.php’ for inclusion (include_path=’. :/usr/local/lib64/php’) in /.../ecrire/inc/utils.php on line 678
Existe t’il une autre astuce qui permettrait de solutionner ce problème ?
Merci d’avance pour votre aide
Simon
Arnaud a eu la gentillesse de regarder de plus près directement sur mon site.
Après avoir suivi plusieurs pistes, voici le résultat (pas de conclusion pour le moment) :
Il semble que ces problèmes proviennent du .htaccess
Arnaud m’a mis un .htaccess qui fonctionne pour mon site. OUF !
Par contre en local avec EASYPHP, ce .htaccess provoque le bug. Impossible d’accéder à l’espace privé.
Par contre en local avec EASYPHP, ce .htaccess provoque le bug. Impossible d’accéder à l’espace privé.
Si vous êtes dans cette situation bloquante, voici la procédure à suivre dans l’ordre :
1. Renommer le répertoire du plugin thelia. Par exemple : \plugins\auto\BAKplugin-thelia
2. Renommer le cache. Par exemple en \tmp\BAKcache
3. Vous pouvez enfin vous connecter dans l’espace privé
4. Vous pouvez réactiver THELIA.
Dans mon cas, le bug ré-apparait dés que je me reconnecte.
Salut,
pour les pb de connexion en administrateur, il y a peut être un soucis avec spip2.1.2, si vous n’utilisez pas l’authentification unique spip/thélia, essayez alors de supprimer le fichier
plugin-thelia/formulaires/login.php
je vais faire des essais également de mon côté
Bonjour,
Merci beaucoup pour vos réponses
les 2 solutions fonctionnent mais celle d’Arnaud à l’avantage de ne pas re-créer le bug après une déconnexion
En tout cas, merci et bravo pour ce plugin, qui, a part ce petit désagrément, est vraiment pratique et plutôt facile a comprendre et à utiliser
En espérant qu’il se développe encore pour résoudre les petits soucis d’ajouts de plugins Thelia et de boucle conditionnelle, pour devenir complet.
C’est du bon boulot et surtout merci pour votre réactivité à répondre et aider les gens dans le besoin !^^
Bonjour à toutes & tous,
Cela fait plaisir de voir des avancées : merci Arnaud / Bruno.
Arnaud : Si ce n’est pas trop ’tôt’, serait-il possible de nous apporter des précisions sur les éventuelles corrections à apporter au .htaccess car pour ma part seul l’ajout du ini_set(’display_errors’, 0) ; permet de faire disparaître les notices php, et je ne suis pas encore sur le serveur de production. Peut-être faut-il revenir à un SPIP 2.1.0 en attendant de nouvelles introspections ? ;)
Merci d’avance
Il suffisait de scroller vers le bas... au temps pour moi & merci Bruno.
Répondre à ce message
Bon, je n’arrive pas à transférer mon .htaccess en une seule partie.
Si le post est trop long , je n’ai pas le bouton de confirmation d’envoi
Je n’arrive pas à transférer la fin du fichier.
Comment fait-on ?
Répondre à ce message
PART 4/5
# Les rubriques
RewriteRule ^-[^/\.]+- ?(\.html) ?$ spip.php ?page=rubrique [QSA,E=url_propre :$0,L]
# les auteurs
RewriteRule ^_[^/\.]+_ ?(\.html) ?$ spip.php ?page=auteur [QSA,E=url_propre :$0,L]
# Les sites
RewriteRule ^@[^/\.]+@ ?(\.html) ?$ spip.php ?page=site [QSA,E=url_propre :$0,L]
# Les articles (en dernier car expression plus « large »)
RewriteRule ^[^/\.]+(\.html) ?$ spip.php ?page=article [QSA,E=url_propre :$0,L]
# Fin URLs « propres » et « propres2 »
###
Répondre à ce message
PART 3/4
###
# Compatibilite avec les URLS « html » (pour transition sympa)
# voir fichier ecrire/urls/html.php3
RewriteRule rubrique([0-9]+)\.html$ spip.php ?page=rubrique&id_rubrique=$1 [QSA,L]
RewriteRule article([0-9]+)\.html$ spip.php ?page=article&id_article=$1 [QSA,L]
RewriteRule breve([0-9]+)\.html$ spip.php ?page=breve&id_breve=$1 [QSA,L]
RewriteRule mot([0-9]+)\.html$ spip.php ?page=mot&id_mot=$1 [QSA,L]
RewriteRule auteur([0-9]+)\.html$ spip.php ?page=auteur&id_auteur=$1 [QSA,L]
RewriteRule site([0-9]+)\.html$ spip.php ?page=site&id_syndic=$1 [QSA,L]
# Compatibilite avec les anciennes URLS appelant directement des fichiers php
RewriteRule ^(rubrique|article|breve|mot|auteur|site|agenda|backend|backend-breves|distrib|forum|ical|plan|recherche|resume|sommaire|sommaire_texte)\.php3 ?$ spip.php ?page=$1 [QSA,L]
RewriteRule ^page.php[3] ? spip.php [QSA,L]
RewriteRule ^spip_cal\.php3 ?$ spip.php ?action=ical [QSA,L]
RewriteRule ^spip_rss\.php3 ?$ spip.php ?action=rss [QSA,L]
# Fin compatibilite
###
###
# URLs « propres » et « propres2 »
# pensez a regler $type_urls=’propres’ ou ’propres2’
# dans ecrire/mes_options.php
# (fichier associe : ecrire/urls/propres.php)
# Les mots-cles
RewriteRule ^+-[^/\.]+(-+) ?(\.html) ?$ spip.php ?page=mot [QSA,E=url_propre :$0,L]
# Les breves
RewriteRule ^+[^/\.]++ ?(\.html) ?$ spip.php ?page=breve [QSA,E=url_propre :$0,L]
Répondre à ce message
Utilisation du plugin filtresup
J’ai installé le plugin thelia filtresup.
Apparemment, les filtres que ce plugin ajoute ne sont pas interprétés par le plugin thelia-spip.
J’ai la mauvaise intuition que c’est normal ?
Quelqu’un peut-il confirmer ?
Répondre à ce message
Bonjour,
Je souhaite ajouter Thélia à mes sites spip qui sont mutualisés (avec le plugin mutualisation). Hors je ne souhaite pas extraire les fichiers Thélia directement dans le répertoire racine de Spip pour des raisons de maintenance et de mises à jour.
Est-il possible d’avoir un dossier Thélia dans la racine du site SPIP ?
Cela simplifierais grandement l’opération.
Bonjour,
Cela doit être possible puisque Thélia préconise une installation dans un sous répertoire par défaut, hors mutualisation avec SPIP : http://wiki.thelia.fr/index.php/Sommaire
Bonjour,
Si j’en crois les derniers demandes de realet à ce sujet (http://blog.thelia.fr/index.php?200...), il n’est pas possible de combiner la mutualisation spip et l’utilisation du plugin thélia.
Personnellement je n’ai jamais testé mais effectivement ça semble poser le pb de changer le répertoire d’installation de thélia
Avec des liens symboliques (client, plugins, etc...) dans chaque répertoire de SPIP mutualisé ça fonctionne ;)
Répondre à ce message
Boucle conditionnelle ne fonctionne pas
Par exemple :
« début » n’est jamais affiché, même si un enregistrement a été trouvé dans la boucle.
et « valeur par défaut » est toujours affiché, que des enregistrements aient été trouvé ou pas.
Suite de mon post...
J’ai toujours le problème. Mais ce type de boucle conditionnelle semble fonctionner à d’autres endroits.
Cette boucle est incluse dans un squelette SPIP, lui-même inclu à plusieurs reprises dans un autre squelette avec un [(#INCLURE)].
J’imagine que SPIP va d’abord résoudre les squelettes inclus puis les inclure dans la page appelante. Donc je vais me retrouver avec plusieurs boucles dans la même page ?
Du coup, je me demande comment THELIA s’en sort avec toutes ces boucles portant le même nom ?
Un expert peut il confirmer ?
Y’a t’il un moyen de voir le code généré par SPIP avant exécution du moteur SPIP ?
Lorsqu’il y a plusieurs boucles Thélia portant le même nom, il faut les suffixer avec une variable SPIP, qui dans ton cas pourrait être passée en paramètre des tes INCLURE et bien sur différente pour chaque appel.
ensuite dans ton inclure, tu peux avoir des boucles du genre :
Bonjour et Merci Arnaud
C’est ce que j’ai fait mais cela n’a pas résolu le problème initial, à savoir la boucle conditionnelle qui ne fonctionne pas.
J’ai fait :
Et j’obtiens le message d’erreur.
La boucle c11 n’est pas fermée correctement !
Une idée Arnaud ?
Répondre à ce message
Problème avec substitution :
Les substitutions ne fonctionne pas.
Dans la boucle toute simple suivante, THELIA-RUBRIQUE_NOM renvoie vide.
dans la boucle rubrique il faut utiliser
THELIA-TITRE
Bonjour ARNAUD
Oui, je sais. C’était juste pour donner un exemple simple.
Il reste que dans un autre cas, la substitution THELIA-RUBRIQUE_NOM me serait très utile.
En effet, si on imbrique une boucle PRODUIT à l’intérieur d’une boucle RUBRIQUE, mais qu’à l’intérieur de la boucle PRODUIT, on veut afficher le titre de la rubrique, je ne vois pas autre chose que THELIA-RUBRIQUE_NOM.
Car si on utilise THELIA-TITRE, on aura le titre du produit et non celui de la rubrique.
Les substitutions fonctionnent-elles sous SPIP-THELIA ?
Si THELIA-RUBRIQUE_NOM ne fonctionne pas, vous pouvez trouver une alternative avec THELIA-TITRE en insérant une nouvelle boucle RUBRIQUE dans votre boucle PRODUIT pour retrouver le nom de la rubrique parent
Répondre à ce message
OK j’ai compris pour le SET et GET.
Mais pour les deux 1er problèmes ?
de ce que je vois (imbrication en exemple de boucles thélia) c’est la pb évoqué.
quels sont les 2 premiers problèmes ?
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |