J'ai créé ma propre bibliothèque Joomla, qui contient quelques fonctions utilitaires et des vues à partager avec d'autres extensions nécessitant les mêmes vues.
Dans une extension ("Redextension"), tout ce que je fais est d'appeler:
JLoader::import('mylib.views.objects');
La vue des objets est juste une vue régulière:
defined('_JEXEC') or die;
class RedextensionViewObjects extends JViewLegacy
{
function display($tpl=null) {
...
La question est de savoir comment puis-je résumer le préfixe "Redextension", car cela ne fonctionnera évidemment pas si j'utilise cette vue dans une autre extension appelée "Blueextension". Il en va de même pour les modèles. Les extensions ont la même structure de base de données et des parties de la fonctionnalité. Ce serait donc bien si je pouvais partager cela au sein d'une bibliothèque.
Une vue est un atout d'extension. Dans la bibliothèque Joomla simple, il n’ya aucun moyen de partager une vue complète entre les extensions.
D'autre part, dans le monde FoF ( https://github.com/akeeba/fof ), vous pouvez appeler une vue entre des extensions ou des modules. Par exemple:
$config = array(
'option' => 'com_todo',
'view' => 'tasks',
'layout' => $layout,
'input' => $input
);
F0FDispatcher::getTmpInstance('com_todo', 'tasks', $config)->dispatch();