THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

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

Offline


Bonjour,


Je suis nouveau, je me suis présenté ici : http://thelia.net/forum/viewtopic.php?pid=68661#p68661

Voici mon problème :
Je dois créer un site d'e-commerce, je me suis arrêté sur Thelia, car il avait l'air d'être facile d'utilisation. J'ai déjà utilisé SPIP et je trouvais très facile le système de boucle et surtout le fait de pouvoir facilement créer et modifier tout ce que l'on voulait (surtout en html et css). Je pensais que Thelia fonctionnait un peu de la même manière sauf que je ne trouve aucune documentation technique assez fournie ou même valable...

Au début j'avais essayé en premier prestashop, mais j'ai envie de dire quelle horreur... il te génère beaucoup trop de fichiers et de tables dans la bdd et pour moi il était presque impossible de s'y retrouver, car le fichier css était énorme (normal vu qu'ils utilisent bootstrap) et donc il est trop complexe à remodeler, enfin je trouve. Et leur système est extrêmement mal-fait quand on veut développer soi-même ; d'un côté c'est normal vu qu'ils monétisent absolument tout, autant faire payer le client que de le laisser faire par soi-même... De plus, pour mon client final l'interface était BEAUCOUP trop chargée, mal foutue et trop complexe !

Revenons à Thelia, je suis quand même tombé sur un peu de doc anglophone : http://doc.thelia.net/en/documentation/loop/index.html
Mais cela n'explique que les boucles et avant cela il faut savoir où se trouvent les fichiers html (les seuls autres doc fiable était sur la v1 et ce n'est plus du tout la même chose avec la nouvelle v2  au niveau des emplacements)...

Voici mes principales interrogations :
- je ne trouve pas où est le fichier index.html (et les autres fichiers html pour les autres pages) où je peux éditer mon code html comme dans spip (ça se trouve dans les templates ? équivalent du dossier squelettes de spip ?) ;
- je ne comprends pas le fonctionnement des template (où va t'on les changer dans l'interface) ;
- n'existe t'il pas de la documentation bien fournie (un peu du style spip : http://www.spip.net/fr_article894.html ) ;
- n'existe t'il pas des tutoriels bien expliqué (de préférence gratuit, mais si vous en avez des payants donné les toujours) ?


Merci pour vos futurs réponse.
Jean-Christhophe

Last edited by Jconcept (21-12-2015 13:49:01)

Offline


Pour la documentation des templates (c.a.d. les fichiers html), c'est là : http://doc.thelia.net/en/documentation/ … ction.html

La doc (la seule qui existe) est en anglais, jusqu'à ce que quelqu'un se dévoue pour la maintenir en français.

Il n'y a pas de tutos à proprement parler, mai le forum te sera d'un grand secours.


OpenStudio Toulouse

Offline


Ok merci ROADSTER31, donc tout se fait dans le dossier "templates" -> "frontOffice" -> "default" ?

Il n'y a pas de tuto de prise en main, même en anglais "get started" (car ça répondrais à toutes mes questions de prises en mains ci-dessous) ? hmm

Peut on copier le dossier "default" et le renommez pour jongler avec plusieurs template et pouvoir travailler par version un peu comme sur prestashop (ou spip avec squelettes) et à quel endroit les change t'on dans l'interface d'admin ?

Il me reste toujours un gros problème (j'ai bien trouvé le fichier css dans "assets" -> "dist" -> "css", le dossier src sert à quelque chose? ), dans le dossier "includes" j'ai trouvé les parties qui se répète tel que le menu sur toutes les pages, j'ai trouvé un index.html mais je ne vois AUCUN chemin vers des parties de codes :

{extends file="layout.tpl"}

{* Body Class *}
{block name="body-class"}page-home{/block}

{* Page Title *}
{block name='no-return-functions' append}
    {$page_title = {config key="store_name"}}
{/block}

{* Hide breadcrumb *}
{block name='breadcrumb'}{/block}

{* Main content *}
{block name="main-content"}
    {hook name="home.body"}
{/block}

{block name="stylesheet"}
{hook name="home.stylesheet"}
{/block}

{block name="after-javascript-include"}
{hook name="home.after-javascript-include"}
{/block}

{block name="javascript-initialization"}
{hook name="home.javascript-initialization"}
{/block} 

Du coup je ne sais toujours pas comment faire pour modifier la page principale ?

Et pour ce qui est des autres pages est ce que Thelia fonctionne un peu comme spip où l'on doit faire un "article.html" faisant référence à toutes les pages articles venant de la boucle articles, idem pour recherche, rubrique, etc. ? Car de nouveau je ne trouve pas les noms exact qui font référence à quoi...

Merci bien.

Last edited by Jconcept (21-12-2015 15:05:08)

Offline


Salut,

Il est conseillé en effet de copier le répertoire défaut et de travailler sur cette copie. Pour changer de template tu vas dans ton back office -> configuration -> gestion de variable et tu changes la valeur de "active-front-template" par le nom de ton template.

Pour ce qui est du css, pour ma part je crée mon propre fichier dans "assets/dist/css/monfichier.css".

Tout les fichiers html du template étendent le fichier layout.tpl. c'est dans ce fichier que tu retrouveras l'architecture html commune à toutes tes pages, de plus c'est ici que tu pourras inclure tes css,js,etc..

Les fichiers html tels que index.html,content.html,... te servent tout simplement à insérer ton contenu. Pour en insérer il te suffit de rentrer du code HTML dans le block "main-content" de tes pages html.

Last edited by ronanaupetit (21-12-2015 15:18:14)

Offline


Pour de l'aide, n'oublions pas Thelia School : http://thelia-school.com

Thelia 2 utilise (optionnellement) un système de hooks, autrement dit, des crochets sur lesquels sont accrochés des modules, qui génère le code qui sera placé à l'endroit où se trouve le hook.

On trouve {hook name="home.body"} dans la page d'accueil.

Dans le BO, Configuration -> Points d'accroche des modules, tu peux trouver quels sont les modules attachés à ce hook :

img-2015-12-21%2015%2039%2028.png

Tu vois que deux modules sont accrochés, Bloc nouveaux produits et Bloc promotions. Si tu active le module Carousel, tu verras qu'il "s'accroche" automatiquement sur le hook home.body.

C'est une façon pratique de constituer une page sans coder.

Ceci dit, tu peux aller modifier le code qui est inséré par les modules en allant dans le répertoire du module, dans templates/frontOffice/default, où se trouvent les fichiers HTML qui contiennent les boucles qui génèrent le code de la page.

Si tu préfères, tu peux complètement t'affranchir du système de hooks, en écrivant le code que tu veux à la place de {hook name="home.body"}

Tu peux aussi conserver le hook home.body , et écrire ton propre code autour.


OpenStudio Toulouse

Offline


Pour ce qui est des assets du template par defaut, ils sont générés à partir du dossier assets/src (les sources) dans assets/dist (la ditsrib)

Cette génération est effectuée par Grunt, en utilisant le fichier templates/frontOffice/default/Gruntfile. L'usage de Grunt est expliqué ici : http://thelia-school.com/utiliser-grunt … helia.html

C'est très pratique, et performant. Le template par defaut utilise aussi Bower pour gérer automatiquement les dépendances

Mais là encore, on peut tout à fait se passer de Grunt, et laisser Thelia recompiler les assets en temps réel, en fixant la variable de configuration "process_assets" à 1, et en accédant au site en mode développement (c.à.d. via index_dev.php). Par contre, il faudra modifier le template par défaut pour s'assurer qu'il va chercher les assets dans assets/src.

Plus d'infos ici : http://doc.thelia.net/en/documentation/ … ssets.html


OpenStudio Toulouse

Offline


Merci RONANAUPETIT pour avoir répondu à ma question sur le template, sur le html et sur comment trouver l'architecture du site, ce qui est bien utile. J'avais trouvé également ici le nom des différentes pages par défaut : http://doc.thelia.net/en/documentation/ … ntent.html

Pour ce qui est du css, tu fais ta propre feuille de style qui écrase celle de base je suppose et tu repositionnes les choses à ta convenance (tu ne supprimes pas les styles par défaut) ?

Encore merci ROADSTER31, le lien me sera super utile de la Thelia School il y a plusieurs articles très intéressant, merci de l'explication des hooks qui m'étaient totalement inconnus et il est génial l'article sur grunt et brower ça permet de gagner du temps et d'exploiter les thèmes Thelia comme ils ont été créés par défaut (je n'avais pas encore utilisé de préprocesseurs CSS, mais là je vais m'y mettre).

Maintenant j'ai déjà une base pour commencer mon exploration, merci à vous. Et si d'autres personnes veulent développer plus en profondeurs certaines réponses ou bien partager avec nous d'autres tutos et astuces n'hésitez pas wink

Offline


Oui je fais ma propre feuille et si j'ai besoin de modifier des classes déjà existantes alors oui j'applique tout simplement un nouveau style dans ma feuille. Sinon je laisse la feuille par défaut étant donné qu'elle contient bootstrap.

Offline


Ok merci RONANAUPETIT smile

Par contre c'est moi ou Thelia v1 me parait plus simple (et mieux expliqué) et plus dans la même logique d'utilisation des boucles comme dans spip, tandis que Thelia v2 me semble beaucoup plus complexe : http://thelia.net/wiki/index.php?title= … ACCESSOIRE -> ça me fait plus penser à spip ce genre là que ce genre ci : http://doc.thelia.net/en/documentation/loop/index.html

Il y a des avantages majeures (hormis design ou ergonomie de l'interface) de choisir plutôt Thelia v2 qu'à la v1 ?

C'est parce que je ne suis pas encore bien à l'aise avec le php et la v2 me fait plus penser au php...

Offline


Etant donné que la v2 intègre Symfony, oui je pense que la v1 est plus simple. La doc de la v2 est très bien, seulement elle est en anglais mais j'ai énormément appris dessus.
Les boucles de la v2 sont géré par smarty qui est un moteur de template PHP. Pour ma part je trouve que l'utilisation de smarty rend le code plus lisible.

Pour les avantages je pourrais pas trop te dire sachant que je n'ai pas développé sur la v1. Je ne connaissais que le php de base il y a trois mois quand j'ai commencé Thelia, j'ai pas mal ramé côté dev mais maintenant que je me sens plus à l'aise, je comprend à quel point Symfony est puissant et comment il facilite le dev. Ça fait des connaissances en plus non négligeables ! Donc si tu as du courage je te conseille largement la v2 :-)