Closed MorganAkki closed 6 years ago
Normally the plugin boilerplate is setup to load your plugin configuration files. The issue here is that you can't call your file templates.config.php
as it is going to conflict with the one set into the theme.
When setting up the plugin, a "namespace" must be defined to avoid file conflicts (not talking about a PHP namespace here). For example: com_example_shop
is a valid namespace string. So based on that, your configuration file name should be: com_example_shop_templates.config.php
and you can then retrieve the information like so:
$templates = Config::get('com_example_shop_templates');
Sorry my message wasn't very clear. I already named my file with the namespace of my plugin but it doesn't seems to be loaded. This is the content of my templates.config file :
return [ 'search-template' => ['Search template', ['page']], ];
Do I have to add the "Config::get" line in the functions.php of the theme directory ?
Hmm as explained, the boilerplate is configured to bootstrap your configuration file. See code line here: https://github.com/themosis/plugin/blob/ae38b46f6b7b766ef4efff6c67a9eda417ba3053/plugin-name.php#L82
Perhaps verify your path or did you correctly setup these lines (namespace): https://github.com/themosis/plugin/blob/ae38b46f6b7b766ef4efff6c67a9eda417ba3053/plugin-name.php#L45
Sorry for english people but it will be easier for me to answer in french...
En fait, tous mes autres fichiers de config sont bien pris en compte. Il n'y a vraiment que le templates.config qui n'est pas chargé d'après moi. Mon plugin se nomme akki-elasticsearch, j'ai bien mon tableau :
$vars = [
'slug' => 'akki-elasticsearch',
'name' => 'Akki Elasticsearch',
'namespace' => 'com.akki.elasticsearch',
'config' => 'com_akki_elasticsearch',
];
Dans mon répertoire "resources->config" j'ai les fichiers suivants :
En suivant juste la doc je n'ai pas réussi à faire en sorte que mon template soit visible en back-office. J'ai réussi à l'activer en ajoutant les lignes suivantes dans le .php à la racine de mon plugin :
$theme = container();
$templates_config = Config::get('com_akki_elasticsearch_templates');
$templates = new Themosis\Config\Template($templates_config, $theme['filter']);
$templates->make();
Est-ce le comportement normal ? Car effectivement je pensais que mon fichier config concernant les templates serait pris en compte automatiquement.
Non effectivement, créer un fichier de configuration ..._templates.config.php
ne génère pas automatiquement le chargement de ces templates .
Le code ajouté dernièrement dans ton exemple est correct et il doit bien être ajouté dans le fichier racine de ton extension.
Je te remercie et désolé pour le manque de clarté dans ma question initiale.
Hello,
I would like to know how can I use templates from a custom plugin. I have a templates.config.php with the right prefix in resources/config but I don't know how to load it. In the documentation we can find this line, but where can I use it ?
$templates = Config::get('com_domain_shop_templates');
Thank you !