Je construis un outil pour importer du contenu pour différentes langues. Il crée des copies d'éléments existants tels que des menus, des articles, des modules, etc. ayant un contenu spécifique à la langue.
Par exemple, lors de la copie d'un article, j'utilise les éléments suivants pour charger la table de contenu:
$contentSrcTbl = JTable::getInstance('Content', 'JTable', array());
$contentSrcTbl->load(array('alias' => $article['alias']));
J'ai les noms de table pour les menus, les articles et les modules, mais je n'arrive pas à trouver une liste de noms de tables à utiliser dans l'appel getInstance. Pour le moment, je cherche le nom de la table à utiliser pour les styles de modèles. J'ai essayé:
Le dernier est le nom de la classe dans le dossier tables du composant Modèles.
Mais aucun de ceux-ci ne retourne un objet jtable, ils retournent tous la valeur null.
Existe-t-il une liste montrant les noms de table associés aux tables Joomla principales?
Si aucune liste, comment puis-je savoir quoi utiliser pour le nom de la table?
Merci!
Le nom de la classe est TemplatesTableStyle
. Mais comme ce n'est pas une classe de base, vous devez l'enregistrer:
JLoader::register('TemplatesTableStyle', JPATH_ADMINISTRATOR . '/components/com_templates/tables/style.php');
ou incluez tout le dossier com_templates/tables:
JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_templates/tables');
Alors cela devrait marcher:
$table = JTable::getInstance('Style', 'TemplatesTable', array());