Joomla.it Forum
Non solo Joomla... => Sviluppo => : bellatrix 14 Aug 2017, 22:25:02
-
Se il percorso originale è:
components/com_content/views/article/tmpl/default.php
Perchè deve diventare così?
com_content/article/default.php
Che fine fanno components , views e tmpl ?
Nel thread dedicato, l'utente @MiRcOv000 ha provato a chiedere spiegazione ma nessuno gli ha fornito una risposta.
-
C'è anche da dire che io dovrei modificare 7 file, con l'override e alcuni, avendo lo stesso nome, non possono stare nella stessa directory.
-
Se il percorso originale è:
components/com_content/views/article/tmpl/default.php
Perchè deve diventare così?
com_content/article/default.php
Si tratta semplicemente di convenzioni.
Non è chiaro dove avresti gli stessi nomi su 7 file, fai un esempio o descrivi meglio?
-
Ciao Tom.
Il componente che crea gli articoli ha il problema della direttiva article di schema.org
Tralasciando che questa è una questione sulla quale mi batterò sempre (già segnalata su github.com) vorrei creare un override che sovrascriva tutti i file contenenti quella direttiva, con altri privi di essa.
Il fatto è che esistono alcuni default.php, contenenti article.
Ad esempio:
components\com_content\views\article\tmpl\default.php
components\com_content\views\featured\tmpl\default.php
...ed altri (nei moduli, ecc).
L'override, lavorerà quindi su:
com_content/article
In definitiva, in questa directory, dovrebbero risiedere diversi default.php
Ora, considerando che questa è la convenzione, la logica suggerisce essere errata.
Cosa mi sfugge?
-
Ciao, ma l'override lo fai dal componente templates?
-
Si, dal template.
TEMPLATE/html
-
e joomla non mantiene il percorso cartella/cartella/file ? mi sembra strano
-
In che senso, Red? :)
La convenzione, dice che gli over ride si fanno con quel percorso, convenzione che non comprendo affatto, boh,
Ora, se le cose stanno così, il mio over ride non può essere applicato.
-
allora non hai capito la mia prima domanda
Ciao, ma l'override lo fai dal componente templates?
io gli override li creo dal componete templates: pannello di controllo estensioni/templates/lista templates nella pagina che si apre clicco sul nome del template in uso, poi alla scheda override navigo tra le cartelle del core e faccio creare la copia di override a joomla! che poi vado a modificare, per me..! questa è la "convenzione" e facendo in questo modo joomla mantiene il percorso "naturale", e logico, dei file nella cartella html del template che li contiene!
-
Ecco cosa mi sfuggiva, Red!! ;D
Procedo immediatamente.
Di fatto, seguendo il tutorial dell'altro thread (http://forum.joomla.it/index.php/topic,59052.0.html), si dice di copiare a mano il file in /html
Ora, così ha senso.
Provo immediatamente. GRAZIE!
Il massimo, sarebbe comunque, se venisse eliminata quella direttiva, inutile e solo dannosa, che costringe un override.
-
Ha senso farli anche a mano, solo che tu sbagli a seguire la logica della convenzione. Nel tuo secondo esempio infatti il percorso è:
. com_content/featured/default.php
-
Tom, a me pare che, stando al tutorial, si generi inevitabilmente un conflitto tra file uguali.
Seguendo la procedura automatica, ho capito come vengono generati i percorsi ed ora si, ci siamo.
Ma stando al tutorial, qualcosa non funziona perchè viene creata una directory in più, non citata nella seppur ottima guida.
-
Non so di quale tutorial o guida parli di come o cosa hai capito ed applicato. A me è bastato confrontare come sono fatti gli override nei template che ho via via utilizzato oltre a leggere qualche post sull'argomento e ti assicuro non si creano situazioni di file e percorsi uguali nell'applicare correttamente la convenzione al di là di qualsiasi guida errata o mal interpretata. Comunque il confronto è sempre utile e costruttivo, magari se nella guida o tutorial c'è qualcosa di poco chiaro si può sempre correggere.
-
Tom, il tutorial è questo (http://www.joomla.it/articoli-della-community/788-override-del-template-come-personalizzare-le-pagine-di-joomla.html).
Stando a com'è redatto, non funziona il concetto dei file uguali, che viene risolto solo con un albero di directory diverso.
-
Mah a me sembra chiara, deduco il concetto di replicare i file contenuti nella view del componente di ogni cartella contenuta nella cartella tmpl.
Riporto di seguito come devono essere replicati per il componente content e contact
file originale:
PATH_TO_JOOMLA/components/com_content/views/article/tmpl/default.php
PATH_TO_JOOMLA/components/com_content/views/archive/tmpl/default.php
PATH_TO_JOOMLA/components/com_content/views/categories/tmpl/default.php
PATH_TO_JOOMLA/components/com_contact/views/contact/tmpl/default.php
PATH_TO_JOOMLA/components/com_contact/views/contact/tmpl/default_forms.php
file override:
TEMPLATE_NAME/html/com_content/article/default.php
TEMPLATE_NAME/html/com_content/archive/default.php
TEMPLATE_NAME/html/com_content/categories/default.php
TEMPLATE_NAME/html/com_contact/contact/default.php
TEMPLATE_NAME/html/com_contact/contact/default_forms.php
Quindi bisogna saltare le cartelle views e tmpl ma rimanere uguali i nomi dei file, e nessun doppione potrà mai risultare dato che in origine non ci sono doppioni.
-
Dunque, nel tutorial viene spiegato quanto segue:
Se ad es. desiderate cambiare la visualizzazione degli articoli (gestiti dal componente com_content di Joomla) copiate il file default.php presente nel vostro sito percorrendo via ftp questo percorso
components/com_content/views/article/tmpl/default.php
all'interno della cartella del vostro template
NOME_TEMPLATE/html/com_content/article/default.php
Una volta copiato il file, potrete effettuare le modifiche al nuovo file e questo sovrascriverà il layout predefinito del componente.
Questa descrizione, io la interpretavo male per mancanza di conoscenza della struttura di Joomla, dove non è possibile esistere due default.php all'interno di ogni ramo.
Oggi, mi sono fatto una cultura, Tom. :)
Paradossalmente, conosco CSS3 ma non la struttura di Joomla. :)
GRAZIE!