2012-12-07 8 views
8

sto cercando di ignorare il file/view.html.php com_content/views/articolo joomla seguendo le istruzioni riportate in questo pageOverride file del componente core di Joomla

Si dice che devo creare una cartella denominata 'codice 'nella directory di base e crea la stessa struttura di directory. L'ho provato, ma non funziona. Qualcuno può confermare se funziona.

Dove devo creare la cartella del codice? È alla radice delle installazioni di joomla?

PS- La modifica funziona correttamente quando applicato su file core

+0

Hai provato a fare il metodo di template come bene? – Lodder

+1

Anche il metodo dei templating non funziona. Penso che il metodo dei template possa solo sovrascrivere i file default.php all'interno della cartella tmpl. – Ajith

+1

Quale versione di Joomla stai usando? – Elin

risposta

1

Non è possibile sostituire i controller di componenti, modelli e viste nel core di Joomla! senza usare un plugin di terze parti.

Il plugin è necessario può essere trovato qui: http://extensions.joomla.org/extensions/style-a-design/templating/15611

La cartella di codice passa poi nella vostra root di Joomla a meno che non si sta sovrascrivendo una vista di back-end, nel qual caso va in/amministratore

Speranza questo aiuta :)

6

è possibile ignorare (quasi) tutte le classi in Joomla, se la classe con lo stesso nome viene caricato prima. Per garantire ciò, è necessario creare un plug-in di sistema.

Ecco un esempio per root/components/com_content/views/article/view.html.php:

class plgSystemOverride extends JPlugin 
{ 
    public function onAfterRoute() 
    { 
     JLoader::register('ContentViewArticle', 'path/to/override.php', true); 
    } 
} 

avvertimento: Override di una classe principale può portare a problemi con altre estensioni, se siete non molto attento. Per le viste, tuttavia, qualsiasi interferenza con altre estensioni è meno probabile.

+1

Awesomesauce. Bella risposta – pal4life