THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour,

J'essaie d'importer un Thélia 1.5.4 dans un Thélia 2.3.5 tout neuf avec le module ImportT1.

Il n'y a que l'étape Content Importation qui fonctionne les dossiers/articles sont bien créés. Mais c'est suivi d'un message d'erreur "Template file import-error.html cannot be found."
J'ai vu une issue sur ce sujet sur le git du module et qui reste ouverte.

Pour info j'ai ajouté mon IP sur /httpdocs/index_dev.php mais j'ai toujours un message Forbidden...  Cela peut-il avoir une relation ?

Toute aide ou piste de recherche sera la bienvenue ;-)
D'avance merci.
Gildart

Offline


J'ai tout réinstallé sur un autre serveur avec une autre version de php mais j'ai toujours la même erreur.
En revanche je me connecter en index_dev.php et j'ai ces informations :

ResourceNotFoundException in SmartyParser.php line 402: Template file import-error.html cannot be found.

    in SmartyParser.php line 402
    at SmartyParser->render('import-error.html', array('edit_language_id' => '1', 'edit_language_locale' => 'fr_FR', 'edit_currency_id' => '1')) in BaseAdminController.php line 390
    at BaseAdminController->renderRaw('import-error.html', array('edit_language_id' => '1', 'edit_language_locale' => 'fr_FR', 'edit_currency_id' => '1')) in BaseAdminController.php line 346
    at BaseAdminController->render('import-error') in ImportT1Controller.php line 303
    at ImportT1Controller->genericImport(object(FeaturesImport), 'Features importation', 'feature', 'importT1.attribute', 'importT1.feature', '0', '0') in ImportT1Controller.php line 377
    at ImportT1Controller->importFeaturesAction('0', '0')
    at call_user_func_array(array(object(ImportT1Controller), 'importFeaturesAction'), array('0', '0')) in HttpKernel.php line 139
    at HttpKernel->handleRaw(object(Request), '1') in HttpKernel.php line 62
    at HttpKernel->handle(object(Request), '1', true) in TheliaHttpKernel.php line 76
    at TheliaHttpKernel->handle(object(Request), '1', true) in ParamInitMiddleware.php line 87
    at ParamInitMiddleware->handle(object(Request), '1', true) in SessionMiddleware.php line 80
    at SessionMiddleware->handle(object(Request), '1', true) in StackedHttpKernel.php line 23
    at StackedHttpKernel->handle(object(Request), '1', true) in Kernel.php line 185
    at Kernel->handle(object(Request)) in index_dev.php line 38

Offline


OK, il manque le template import-error.html.

Par contre dans le fichier log/log-thelia.txt tu vas pouvoir trouver la cause de l'erreur d'importation.


OpenStudio Toulouse

Offline


Merci de ta réponse.

Donc, pour bien comprendre, le fichier import-error.html est manquant mais c'est pas grave et pas la source de l'erreur ? Sinon où le trouver ?

Je regarde /log/log-thelia.txt mais je ne vois que des lignes INFO et DEBUG. Pas d'ERROR...

Dans /log/import-log.txt j'ai :

[ERROR] 2019-06-04 10:26:47:Failed in feature importation, error:
[ERROR] 2019-06-04 10:26:47:Error: select * from caracdisp: args:Array
(
)
, err:Array
(
    [0] => 42S02
    [1] => 1146
    [2] => Table '04233_thelia1.caracdisp' doesn't exist
)

en plus des error liés à "import-error.html"

Offline


Je ne vois dans la base que les tables :

'caracdispdesc'
'caracteristique'
'caracteristiquedesc'
'caracval'

et pas de 'caracdisp'

Offline


et pas de 'caracdisp'

Elle devrait exister, il s'agit d'une table standard qui existe au moins depuis la version 1.4.2. Si elles n'existe pas c'est qu'elle a été supprimée manuellement.


OpenStudio Toulouse

Offline

Offline


Et ça fonctionne quand même ?
Je dois en recréer une vide ?

Offline


Si tu n'utilise pas de déclinaisons, ça peut fonctionner. Recrée en une vide, ça devrait permettre à l'import de se dérouler normalement.

CREATE TABLE `caracdisp` (
  `id` int(11) NOT NULL auto_increment,
  `caracteristique` int(11) NOT NULL default '0',
  PRIMARY KEY  (`id`)
)  AUTO_INCREMENT=1 ;

OpenStudio Toulouse

Offline


Tu es trop fort Roadster !

Tout a été importé : 500 produits, 5000 clients, 7000 produits. Génial.
J'ai quelques erreurs mais à priori rien de grave.

Encore merci et bravo.
Gildart

Offline


Cool ! Il faut que j'ajoute le fichier manquant dans le module d'import, ça pourrait aider smile


OpenStudio Toulouse

Offline


Une dernière question (mais on ne sait jamais...) à laquelle je réponds moi-même - en partie.

Les produits ont des déclinaisons libres dans la 1.5. et elles n'ont pas été importées.

Je vois qu'il y a une table 'declibre' où sont toutes les déclinaisons. Après enquête c'est la table du plugin 'Déclinaisons libres'.
Donc j'imagine qu'il est normal que le contenu ne soit finalement pas importé par ImportT1...

Est-il envisageable de réintégrer ces déclinaisons T1 dans T2 autrement qu'à la main ?

Merci et Bonne journée.

Last edited by Gildart (05-06-2019 11:57:06)

Offline


Est-il envisageable de réintégrer ces déclinaisons T1 dans T2 autrement qu'à la main ?

Mis à part écrire le code d'importation et l'inclure dans le processus d'import, je ne vois pas.


OpenStudio Toulouse

Offline


J'ai près de 2000 enregistrements de déclinaisons qui ne sont pas vraiment normalisées car c'était du texte libre avec le module Declibre. Je vais donc devoir les reprendre pour avoir quelque chose de propre à intégrer dans les déclinaisons de T2.
J'ai fait un test en remplissant à la main pour une déclinaison les 3 tables : 'attribute_combination', 'product_price' et `product_sale_elements` et cela me crée bien la déclinaison correspondante en admin.
Je pense faire un fichier de tout cela pour injecter les données ensuite dans la base...

Tu penses que c'est jouable comme ça ?
Merci de ton aide.
Gildart

Offline


Non, je ne pense pas que ça puisse fonctionner. Il te faudrait plutôt utiliser ce module https://github.com/roadster31/DynamicProductAttributes, qui permet de reproduire grosse modo ce que fait declibre.

Mais vu que les déclinaisons sont libres, je ne vois pas trop l’intérêt de les importer ? Sur des anciennes commandes peut-être ?


OpenStudio Toulouse

Offline


Quand je parle de déclinaisons libres dans le plugin pour T1 c'est que l'admin créé ses valeurs pour la déclinaison directement dans la fiche produit sans référence à une liste prédéfinie de valeurs comme aujourd'hui. Donc dans mon cas il y a une seule déclinaison avec une liste finalement réduite de valeurs mais pas toutes désignées de la même façon.
Dans ton module si je comprends bien ce sont les clients qui peuvent indiquer des valeurs.

Offline


Tiens ? C'est un plugin qui fait ça ?


OpenStudio Toulouse