Giter Site home page Giter Site logo

Load templates from plugin about plugin HOT 6 CLOSED

themosis avatar themosis commented on June 2, 2024
Load templates from plugin

from plugin.

Comments (6)

jlambe avatar jlambe commented on June 2, 2024

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');

from plugin.

MorganAkki avatar MorganAkki commented on June 2, 2024

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 ?

from plugin.

jlambe avatar jlambe commented on June 2, 2024

Hmm as explained, the boilerplate is configured to bootstrap your configuration file. See code line here:

themosis_path('plugin.'.$vars['namespace'].'.resources').'config'.DS,

Perhaps verify your path or did you correctly setup these lines (namespace):

$vars = [

from plugin.

MorganAkki avatar MorganAkki commented on June 2, 2024

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 :

  • com_akki_elasticsearch_loading.config.php
  • com_akki_elasticsearch_providers.config.php
  • com_akki_elasticsearch_templates.config.php

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.

from plugin.

jlambe avatar jlambe commented on June 2, 2024

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.

from plugin.

MorganAkki avatar MorganAkki commented on June 2, 2024

Je te remercie et désolé pour le manque de clarté dans ma question initiale.

from plugin.

Related Issues (19)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.