it-swarm.dev

Caricamento di tag in blocco

Mi chiedevo se è possibile caricare un elenco di tag nel database in blocco e, in caso affermativo, come?

Devo caricare alcune centinaia di tag (tutti gli anni 1901, 1902, 1903 eccetera...).

Il motivo per cui voglio farlo è perché devo essere in grado di taggare immagini con un anno specifico, e facendo clic sul tag 'anno' dovrei quindi mostrare tutte le immagini di quell'anno. Il problema è che il sito Web è basato su dati storici, quindi alcune immagini risalgono a centinaia di anni fa!

Preferirei non modificare il database senza prima sapere se è possibile, e in secondo luogo cosa sto facendo.

Se ci sono altre soluzioni che sono aperto a suggerire, tuttavia questa mi sembra più semplice.

2
jonboy

Non esiste alcuna opzione di importazione per il componente Tag. Ciò renderà una tale importazione direttamente nel database un processo difficile, poiché dovrai prendere in considerazione tutti i campi della tabella per ogni riga. Un'istruzione insert per ogni riga sarebbe simile a questa:

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

Ciò richiede molta scrittura manuale. Inoltre, i tag utilizzano il modello di set nidificato per creare associazioni genitori-figli e questo richiede molti calcoli per per trovare i giusti valori per i relativi campi. L'elaborazione batch o il nuovo salvataggio dei tag non ha dimostrato di risolvere questi problemi per il componente tag e il gestore ACL (estensione di terze parti) non lo gestisce.

Quindi, a meno che non ci sia un altro script che gestirà tutto quanto sopra e ti permetta di importare in batch un file con tag, allora la tua migliore possibilità è crearli manualmente dal back-end o durante la creazione di contenuti.

Questi sono i miei primi pensieri su questo, ma forse qualcuno ha un'altra idea/suggerimento migliore ...

2
FFrewin

Non è necessario creare prima quei tag. Puoi crearli al volo quando ne hai bisogno.

Puoi creare tag al volo in qualsiasi schermata di modifica del contenuto che ha un campo tag. Inizia a digitare il nome di un possibile tag. Una volta arrivate a tre lettere, inizierai a vedere i tag suggeriti che già esistono. Se stai creando un tag nuovo di zecca, digita il nome e premi invio e il tag verrà creato per te al momento del salvataggio.

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

0
fruppel