web-dev-qa-db-fra.com

Téléchargement de balises en vrac

Je me demandais s'il était possible de télécharger en bloc une liste de balises dans la base de données, et si oui, comment?

J'ai besoin de télécharger quelques centaines de tags (toutes les années 1901, 1902, 1903 etc...).

La raison pour laquelle je veux faire cela est parce que je dois être capable de balise images avec une année spécifique, et en cliquant sur la balise 'year', toutes les images de cette année devraient être affichées. Le problème est que le site Web est basé sur l'historique, de sorte que certaines images datent de centaines d'années!

Je préférerais ne pas éditer la base de données sans savoir premièrement si c'est possible et deuxièmement ce que je fais.

S'il y a d'autres solutions, je suis ouvert à toutes suggestions, mais celle-ci me semble la plus facile.

2
jonboy

Il n'y a pas d'option d'importation pour le composant Tags. Une telle importation directement dans la base de données deviendra alors un processus difficile, car vous devrez prendre en compte tous les champs de la table pour chaque ligne. Une instruction insert pour chaque ligne ressemblerait à ceci:

INSERT INTO `cpxns_tags` (`id`, `parent_id`, `lft`, `rgt`, `level`, `path`, `title`, `alias`, `note`, `description`, `published`, `checked_out`, `checked_out_time`, `access`, `params`, `metadesc`, `metakey`, `metadata`, `created_user_id`, `created_time`, `created_by_alias`, `modified_user_id`, `modified_time`, `images`, `urls`, `hits`, `language`, `version`, `publish_up`, `publish_down`)
    VALUES
        (4, 1, 3, 4, 1, '1910', '1910', X'31393130', '', '', 1, 0, '0000-00-00 00:00:00', 1, '{\"tag_layout\":\"\",\"tag_link_class\":\"label label-info\",\"image_intro\":\"\",\"float_intro\":\"\",\"image_intro_alt\":\"\",\"image_intro_caption\":\"\",\"image_fulltext\":\"\",\"float_fulltext\":\"\",\"image_fulltext_alt\":\"\",\"image_fulltext_caption\":\"\"}', '', '', '{\"author\":\"\",\"robots\":\"\"}', 441, '2014-09-04 13:17:21', '', 0, '0000-00-00 00:00:00', '', '', 0, '*', 1, '0000-00-00 00:00:00', '0000-00-00 00:00:00');

Ce qui nécessite beaucoup d'écriture manuelle. En outre, les balises utilisent modèle d'ensembles imbriqués pour créer des associations parents-enfants, ce qui nécessite de nombreux calculs en ordre. pour trouver les bonnes valeurs pour les champs relatifs. Il n’a pas été prouvé que le traitement par lots ou la ré-enregistrement des tags résolvent ces problèmes pour le composant de tags et que le gestionnaire ACL (extension tierce) ne le traite pas.

Par conséquent, à moins qu'un autre script traite de tout ce qui précède et vous permette d'importer par lots un fichier avec des balises, votre meilleure chance est de les créer manuellement à partir du backend ou lors de la création du contenu.

Ce sont mes premières réflexions à ce sujet, mais peut-être que quelqu'un a une autre meilleure idée/suggestion ...

2
FFrewin

Il n'est pas nécessaire de créer ces balises en premier. Vous pouvez les créer à la volée, selon vos besoins.

Vous pouvez créer des étiquettes à la volée dans n’importe quel écran d’édition de contenu comportant un champ d’étiquettes. Commencez à taper le nom d'une étiquette possible. Une fois que vous aurez trois lettres, vous commencerez à voir les balises suggérées qui existent déjà. Si vous créez une nouvelle balise, tapez le nom et appuyez sur Entrée. La balise sera créée pour vous lors de la sauvegarde.

https://docs.joomla.org/J3.x:How_To_Use_Content_Tags_in_Joomla

0
fruppel