[Résolu] 3.1.0 Import thème champs tl_module.com_ manquants

Questions, astuces à propos des modèles et des feuilles de styles
Avatar de l’utilisateur
Hug
Membre
Messages : 72
Inscription : 06 Fév 2013 16:54
Localisation : Bourgogne

[Résolu] 3.1.0 Import thème champs tl_module.com_ manquants

Messagepar Hug » 18 Juin 2013 16:10

Bonjour,

Sur mon installation Contao 3.1.0 (installé avec le modèle par défaut Music Academy), j'obtiens des erreurs lors de l'importation du thème :

Code : Tout sélectionner

Anniversary-CT3-Responsive-0071914001355734421.cto

Tables et champs
Le champ tl_module.com_order est manquant dans la base de données et ne sera pas importé.
Le champ tl_module.com_moderate est manquant dans la base de données et ne sera pas importé.
Le champ tl_module.com_bbcode est manquant dans la base de données et ne sera pas importé.
Le champ tl_module.com_requireLogin est manquant dans la base de données et ne sera pas importé.
Le champ tl_module.com_disableCaptcha est manquant dans la base de données et ne sera pas importé.
Le champ tl_module.com_template est manquant dans la base de données et ne sera pas importé.

Présentations de page personnalisées

Les présentations de page ont été vérifiées avec succès.

Modèles personnalisés

Aucun conflit détecté.


Je n'ai rien trouvé sur le forum et mes recherches sur le web me font penser que ces champs manquants concernent le module "Commentaires". Mais je ne sais pas comment résoudre ce problème. J'ai testé plusieurs thèmes Contao 3 mais j'ai toujours les mêmes erreurs. Sur un autre thème importé, j'ai, en plus, cette erreur :

Code : Tout sélectionner

k0001_contao_3_x.cto
...
Modèles personnalisés
Le modèle "templates/fe_page.html5" existe et sera écrasé.

Pour ce dernier point, je suppose qu'il me suffit de créer un sous-répertoire dans templates/ pour y mettre le fichier fe_page.html5 du thème.

Pourriez-vous m'aider pour les "champs manquants" ? D'avance merci. Bien cordialement,

Hug
Dernière édition par Hug le 21 Juin 2013 11:12, édité 1 fois.
Contao 3.1.1

Avatar de l’utilisateur
Hug
Membre
Messages : 72
Inscription : 06 Fév 2013 16:54
Localisation : Bourgogne

Re: 3.1.0 Import thème - champs tl_module.com_ manquants

Messagepar Hug » 19 Juin 2013 16:55

En continuant mes recherches, je n'ai trouvé que ceci sur le web (avec le même type d'erreurs) :
https://community.contao.org/de/showthread.php?17398-Contao2Go-das-portable-WAMP-System&p=168703&viewfull=1#post168703

Mais... c'est en allemand (autant dire en chinois, pour moi :cry: ). Avec la traduction automatique, ce n'est pas très clair... J'en comprends juste qu'il y avait une incompatibilité de version entre Contao et le thème (2.10). D'après le peu que je peux comprendre, la solution était d'installer une version Contao compatible avec le thème. En ce qui me concerne, je suis en Contao 3.1.0 et le thème indique :
Details
Nummer: k0001 (Contao 2.11.x und 3.x)


D'après cette indication, ce thème devrait être compatible avec Contao 3.1.0, n'est-ce pas ?

Auriez-vous une piste ? Je pensais qu'il faudrait créer "à la main" les champs manquants da la BDD de Contao "tl_module" mais je ne vais pas me risquer à cela... D'autant je n'ai aucune idée du type de champ et de ses caractéristiques !
Contao 3.1.1

Avatar de l’utilisateur
MIMATA
Membre
Messages : 453
Inscription : 23 Avr 2008 08:29
Localisation : France
Contact :

Re: 3.1.0 Import thème - champs tl_module.com_ manquants

Messagepar MIMATA » 19 Juin 2013 17:12

Bonjour,

Et si tu modifiais le fichier .cto plutôt en enlevant la partie qui pose problème ?
Je ne sais pas comment est foutu ce fichier donc...difficile d'être plus précis mais ça peut-être une solution.

Sinon tu as bien le module Commentaires activé et installé ? Je sais qu'il est possible de désactiver des modules dans l'admin et de supprimer carrément les tables correspondantes dans la base en mettant à jour la base de donnée. Peut-être n'as tu tout simplement plus ces tables ou ces champs.
MIMATA - Votre Site Pro : http://www.votresitepro.com - Planète Astronomie : http://www.planete-astronomie.eu (NEW) et http://www.planete-astronomie.com - Forum de Planète Astronomie : http://forum.planete-astronomie.com - Jeu de questions Planète Astronomie : http://astroquiz.planete-astronomie.com - Vidéos de Planète Astronomie : http://videos.planete-astronomie.com

Avatar de l’utilisateur
KlausGrenoble
Membre
Messages : 261
Inscription : 27 Jan 2013 00:11
Localisation : Grenoble

Re: 3.1.0 Import thème - champs tl_module.com_ manquants

Messagepar KlausGrenoble » 20 Juin 2013 00:14

Mais... c'est en allemand (autant dire en chinois, pour moi :cry: ). Avec la traduction automatique, ce n'est pas très clair... J'en comprends juste qu'il y avait une incompatibilité de version entre Contao et le thème (2.10). D'après le peu que je peux comprendre, la solution était d'installer une version Contao compatible avec le thème.


[QUOTE=Vollpfosten;168705]Sieht nach unterschiedlichen Versionen aus. Das Theme müsste schon für 2.10.x angepasst sein? Einfach in C2G eine 2.10.x Version installieren und dort mal das Theme importieren.[/QUOTE]

@Hug: C'est exactement ce qu'e Vollpfosten dit.
J'ai regardé un peu: Essaye de recopier /system/modules/comments/dca/tl_module.php du contao corps V3.1.0 ou même carrément le dossier /system/modules/comments/ de la V3.1.0 (overwite files) et ensuite appeler install.php. ça devrait demander un update de la base.

Avatar de l’utilisateur
Hug
Membre
Messages : 72
Inscription : 06 Fév 2013 16:54
Localisation : Bourgogne

Re: 3.1.0 Import thème - champs tl_module.com_ manquants

Messagepar Hug » 20 Juin 2013 12:10

Bonjour,

Mimata, j'ai retrouvé l'endroit où désactiver/activer les modules :

Système > Configuration > Modules inactifs

Effectivement, "[comments] Commentaires" était coché (donc inactif) ! Je me souviens avoir coché ceci, après installation, en me disant "autant désactiver tout ce que je ne vais pas utiliser pour l'instant, cela fera une installation plus simple". L'ultradébutant Contao que je suis a eu tort ! :roll:

:?: Mais décocher (activer) ce module ne suffit pas, Contao ne recrée pas automatiquement les tables et champs manquants ! Cela ne semble pas logique, je ne sais pas si c'est volontaire ou si c'est un bug...

KlausGrenoble, j'ai donc ensuite relancé l'installateur (contao/install.php). Il propose bien de mettre à jour la BDD et de recréer ce qui manque (tables et champs) :
Mettre à jour les tables de la base de données

La base de données n'est pas à jour !

Veuillez noter que cet assistant de mise à jour a uniquement été testé avec les bases de données MySQL et MySQLi. Si vous utilisez une autre base de données (Oracle par exemple), vous pourriez avoir à installer/mettre à jour votre base de données manuellement.
Créer de nouvelles tables
Tout sélectionner

CREATE TABLE `tl_comments` (
`id` int(10) unsigned NOT NULL auto_increment,
`tstamp` int(10) unsigned NOT NULL default '0',
`source` varchar(32) NOT NULL default '',
`parent` int(10) unsigned NOT NULL default '0',
`date` varchar(64) NOT NULL default '',
`name` varchar(64) NOT NULL default '',
`email` varchar(255) NOT NULL default '',
`website` varchar(128) NOT NULL default '',
`comment` text NULL,
`addReply` char(1) NOT NULL default '',
`author` int(10) unsigned NOT NULL default '0',
`reply` text NULL,
`published` char(1) NOT NULL default '',
`ip` varchar(64) NOT NULL default '',
`notified` char(1) NOT NULL default '',
PRIMARY KEY (`id`),
KEY `source` (`source`),
KEY `parent` (`parent`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


CREATE TABLE `tl_comments_notify` (
`id` int(10) unsigned NOT NULL auto_increment,
`tstamp` int(10) unsigned NOT NULL default '0',
`source` varchar(32) NOT NULL default '',
`parent` int(10) unsigned NOT NULL default '0',
`name` varchar(128) NOT NULL default '',
`email` varchar(128) NOT NULL default '',
`url` varchar(255) NOT NULL default '',
`addedOn` varchar(10) NOT NULL default '',
`ip` varchar(64) NOT NULL default '',
`tokenConfirm` varchar(32) NOT NULL default '',
`tokenRemove` varchar(32) NOT NULL default '',
PRIMARY KEY (`id`),
KEY `source` (`source`),
KEY `parent` (`parent`),
KEY `tokenConfirm` (`tokenConfirm`),
KEY `tokenRemove` (`tokenRemove`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Ajouter de nouvelles colonnes
Tout sélectionner

ALTER TABLE `tl_content` ADD `com_order` varchar(32) NOT NULL default '';
ALTER TABLE `tl_content` ADD `com_perPage` smallint(5) unsigned NOT NULL default '0';
ALTER TABLE `tl_content` ADD `com_moderate` char(1) NOT NULL default '';
ALTER TABLE `tl_content` ADD `com_bbcode` char(1) NOT NULL default '';
ALTER TABLE `tl_content` ADD `com_disableCaptcha` char(1) NOT NULL default '';
ALTER TABLE `tl_content` ADD `com_requireLogin` char(1) NOT NULL default '';
ALTER TABLE `tl_content` ADD `com_template` varchar(32) NOT NULL default '';
ALTER TABLE `tl_module` ADD `com_order` varchar(32) NOT NULL default '';
ALTER TABLE `tl_module` ADD `com_moderate` char(1) NOT NULL default '';
ALTER TABLE `tl_module` ADD `com_bbcode` char(1) NOT NULL default '';
ALTER TABLE `tl_module` ADD `com_requireLogin` char(1) NOT NULL default '';
ALTER TABLE `tl_module` ADD `com_disableCaptcha` char(1) NOT NULL default '';
ALTER TABLE `tl_module` ADD `com_template` varchar(32) NOT NULL default '';


:?: Je me demande pourquoi, la fonction "Mettre à jour les tables de la base de données" n'est pas disponible dans l'administration, par exemple dans : Maintenance du système ?

Une fois que c'est fait, je retourne dans l'administration de Contao et je supprime le modèle K0001_contao_3_x.cto. Ensuite, je l'importe de nouveau :
k0001_contao_3_x.cto

Tables et champs
Les tables ont été vérifiées avec succès.

Présentations de page personnalisées
Les présentations de page ont été vérifiées avec succès.

Modèles personnalisés
Le modèle "templates/fe_page.html5" existe et sera écrasé.


Cela fonctionne ! :D Je n'ai que le dernier point à régler (fe_page.html5 écrasé). Merci à vous deux ! Bien cordialement,

Hug
Contao 3.1.1

FiX'
Membre
Messages : 399
Inscription : 02 Jan 2009 01:04

Re: 3.1.0 Import thème - champs tl_module.com_ manquants

Messagepar FiX' » 20 Juin 2013 14:44

Hug a écrit :Mais décocher (activer) ce module ne suffit pas, Contao ne recrée pas automatiquement les tables et champs manquants ! Cela ne semble pas logique, je ne sais pas si c'est volontaire ou si c'est un bug...

Donc pour toi, la table devrait se créer / supprimer automatiquement si on coche / décoche le module à désactiver ? Ne trouves-tu pas cela dangereux de pouvoir ajouter / supprimer une table à la volée ? Si par inattention du cochais une case pour désactiver un module... ne serais-tu pas énervé de voir toutes tes données supprimées à cause d'une erreur d'attention ?

Hug a écrit :Je me demande pourquoi, la fonction "Mettre à jour les tables de la base de données" n'est pas disponible dans l'administration, par exemple dans : Maintenance du système ?

Quand on touche aux tables d'un BDD, il faut-être concentré pour ne pas faire d'erreur. Je pense qu'il vaut mieux être dans un contexte / environnement différent. Donc pour moi le fait que ça soit disponible que depuis le fichier install.php me semble plus "sécurisant".

De plus, le fichier install.php demande un mot de passe spécifique indépendant de tout compte administrateur... ainsi même un administrateur "normal" ne peut pas toucher aux tables.

Enfin, dernier point... je pense que la session du BE serait coupée si on essayait de mettre à jour les tables. Que ferais-tu après ? Tu n'aurais plus aucun accès.

Après, c'est vrai qu'un lien vers le fichier install.php depuis le BE pourrait-être utile... mais pas forcément indispensable.

A+

Avatar de l’utilisateur
Hug
Membre
Messages : 72
Inscription : 06 Fév 2013 16:54
Localisation : Bourgogne

Re: 3.1.0 Import thème - champs tl_module.com_ manquants

Messagepar Hug » 20 Juin 2013 15:13

Merci FIX' pour tous ces arguments ! Je comprends mieux la portée d'une telle manipulation et je suis maintenant d'accord avec cette nette séparation (anti-bêtises).
Après, c'est vrai qu'un lien vers le fichier install.php depuis le BE pourrait-être utile... mais pas forcément indispensable.

Une solution qui pourrait être utile (et indispensable pour les débutants), c'est d'afficher un message après avoir activé ou désactivé un ou des modules. Du style :

Après activation : "Les modules nom_des_modules ne seront fonctionnels qu'après avoir mis à jour la base de données. Pour effectuer cette mise à jour, vous devez exécuter l'installateur de Contao (contao/install.php)."

Après désactivation : "Les champs et tables, inutilisés à cause de la désactivation des modules nom_des_modules, sont toujours présents dans la base de données. Si vous souhaitez les supprimer (ATTENTION ! Cela supprimera également les données correspondantes), vous devez exécuter l'installateur de Contao (contao/install.php) pour effectuer la mise à jour de la base de données."

Qu'en penses-tu ?

Bien cordialement,

Hug
Contao 3.1.1

FiX'
Membre
Messages : 399
Inscription : 02 Jan 2009 01:04

Re: 3.1.0 Import thème - champs tl_module.com_ manquants

Messagepar FiX' » 20 Juin 2013 15:44

Hug a écrit :Qu'en penses-tu ?

Mouais... pourquoi pas ça peut-être utile dans certains cas. Il faudrait que tu proposes cela sur GitHub, pour avoir l'avis de la communauté internationale et surtout de Léo.

Mais il y a une chose que je ne comprends pas dans ton histoire / problème.

Quand tu installes Contao, je ne crois pas qu'il y ait la possibilité d'activer / désactiver les modules directement depuis install.php ?

Donc, en théorie, toute la base de donnée (tables, champs, ...) est importée.

Ainsi même si tu désactives un module, la table / champs associé à ce module n'est pas supprimé (c'est ce que je disais avant : pas de suppression à la volée = danger).

Donc, sachant que la table / champs est toujours existant dans la BDD mais que le module est désactivé... pourquoi as-tu eu un message comme quoi les champs étaient manquants ?!

J'ai du mal à comprendre...

Soit tu avais fait déjà une mise à jour via l'install.php, lorsque que le module en question était désactivé (et donc ça a supprimé la table), ou alors le simple fait de désactiver le module empêche à Contao d'accéder à la table en question même si celle-ci est présente en BDD.

Bref, étonnant tout ça !

Avatar de l’utilisateur
MIMATA
Membre
Messages : 453
Inscription : 23 Avr 2008 08:29
Localisation : France
Contact :

Re: 3.1.0 Import thème - champs tl_module.com_ manquants

Messagepar MIMATA » 20 Juin 2013 15:58

Non en fait c'est vrai qu'à la première installation on a bien tous les modules qui s'installent.

Ensuite, dans la configuration on peut déactiver des modules sans que ça ne modifie la base de donnée.

Par contre, si on installe une extension (ou désinstalle) alors lors de la mise à jour de la base, Contao propose l'installation des nouvelles tables/champs mais aussi la suppression des trucs devenus inutiles...donc si on coche tout, Contao supprime les tables des modules désactivés lors d'une installation/mise à jour, désinstallation d’extension.
Bien sûr on peut aussi mettre à jour la base en passant par le fichier d’installation.
MIMATA - Votre Site Pro : http://www.votresitepro.com - Planète Astronomie : http://www.planete-astronomie.eu (NEW) et http://www.planete-astronomie.com - Forum de Planète Astronomie : http://forum.planete-astronomie.com - Jeu de questions Planète Astronomie : http://astroquiz.planete-astronomie.com - Vidéos de Planète Astronomie : http://videos.planete-astronomie.com

FiX'
Membre
Messages : 399
Inscription : 02 Jan 2009 01:04

Re: 3.1.0 Import thème - champs tl_module.com_ manquants

Messagepar FiX' » 20 Juin 2013 16:07

MIMATA a écrit :Par contre, si on installe une extension (ou désinstalle) alors lors de la mise à jour de la base, Contao propose l'installation des nouvelles tables/champs mais aussi la suppression des trucs devenus inutiles...donc si on coche tout, Contao supprime les tables des modules désactivés lors d'une installation/mise à jour, désinstallation d’extension.

Bien vu MIMATA ! :D

Avatar de l’utilisateur
Hug
Membre
Messages : 72
Inscription : 06 Fév 2013 16:54
Localisation : Bourgogne

Re: 3.1.0 Import thème - champs tl_module.com_ manquants

Messagepar Hug » 20 Juin 2013 18:20

Oui FIX', MIMATA a raison. Il me semble bien qu'au moment d'installer une extension, j'ai eu, lors de la mise à jour de la BDD, la suppression de certains champs. Ne sachant pas trop à quoi ils servaient, j'ai fais confiance à Contao et j'ai laissé tout coché...

Grâce à vous je progresse, je comprends maintenant comment cela s'est produit (désactivation d'un module > installation d'une extension > mise à jour de la BDD > suppression des champs) et pourquoi j'ai eu ces messages d'erreur lors de l'importation de thèmes (les champs ayant été réellement supprimés) ! :wink:

Merci !

Hug
Contao 3.1.1

Avatar de l’utilisateur
MIMATA
Membre
Messages : 453
Inscription : 23 Avr 2008 08:29
Localisation : France
Contact :

Re: 3.1.0 Import thème - champs tl_module.com_ manquants

Messagepar MIMATA » 20 Juin 2013 18:29

Petite correction, il me semble de mémoire que Contao ne coche pas par défaut les champs et tables à supprimer, c'est bien une action volontaire :wink:
MIMATA - Votre Site Pro : http://www.votresitepro.com - Planète Astronomie : http://www.planete-astronomie.eu (NEW) et http://www.planete-astronomie.com - Forum de Planète Astronomie : http://forum.planete-astronomie.com - Jeu de questions Planète Astronomie : http://astroquiz.planete-astronomie.com - Vidéos de Planète Astronomie : http://videos.planete-astronomie.com

Avatar de l’utilisateur
Hug
Membre
Messages : 72
Inscription : 06 Fév 2013 16:54
Localisation : Bourgogne

Re: 3.1.0 Import thème - champs tl_module.com_ manquants

Messagepar Hug » 21 Juin 2013 11:11

Oui, MIMATA, je pense que tu as raison ! Cela a dû se passer en 2 temps :

    1 - Mise à jour de la BDD avec les nouvelles tables de l'extension, cochées automatiquement
    2 - Comme les champs inutilisés ne me semblaient pas... utiles, j'ai dû cocher "volontairement" pour les supprimer. Si j'aurais su... Maintenant, je sais...
FIX', tout bien considéré, mon idée de message d'avertissement est inutile. Puisqu'il y a un avertissement, me semble-t-il, avant de supprimer les champs. En voulant faire "plus propre et supprimer ce qui ne sert pas", j'ai été trop téméraire... :oops:

Plus j'avance avec Contao et plus j'apprécie qu'il soit bien construit et sécurisé. Le plus difficile au début c'est de bien comprendre sa structure et son mode de fonctionnement. Heureusement que j'ai acheté la formation vidéo de Cyril, sinon je pateaugerais encore...Avec elle et votre aide sur ce forum, j'y arrive progressivement.
Il y a parfois des choses qui ne sont pas intuitives, comme par exemple la séparation entre le menu Contenu et le menu Structure du site. Mais c'est peut-être que Contao nous oblige à agir de façon plus structurée qu'intuitive...

Sinon, j'ai réglé le détail suivant (importation du modèle k0001_contao_3_x.cto) :
Modèles personnalisés
Le modèle "templates/fe_page.html5" existe et sera écrasé.

Pour les thèmes de la famille Kxxxx_contao3_x, pour chacun d'eux, je fais ceci :

    1- Création d'un sous-répertoire dédié unique dans templates/ : templates/Kxxxx_contao3_x
    2- Installation du thème : Présentation > Thèmes > Import de thème
    3- Présentation > Thèmes > Éditer le thème Kxxxx_contao3_x (icône crayon) > Répertoire des modèles > choisir "Kxxxx_contao3_x"
    4- Déplacement du fichier fe_page.html5, crée dans templates/, vers templates/Kxxxx_contao3_x
Pour les thèmes tels que Orange-CT3-Responsive-0204449001355127662.cto, le problème ne se pose pas. Ils ne contiennent (une fois dézippés) qu'un fichier theme.xml (je ne sais pas où il s'installe) et un sous-répertoire d'images qui sera placé dans files/

Le problème (qui était plutôt une méconnaissance) est donc résolu. Encore merci à vous deux ! Bien cordialement,

Hug
Contao 3.1.1


Revenir vers « Modèles et CSS »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité