web-dev-qa-db-ja.com

タグの一括アップロード

タグのリストをデータベースに一括でアップロードできるかどうか疑問に思っていましたが、可能であればどうすればよいですか?

数百のタグをアップロードする必要があります(すべての年190119021903など...)。

これを行う理由は、特定の年の画像をtagにできる必要があるためです。「年」タグをクリックすると、その年のすべての画像が表示されます。問題は、ウェブサイトが歴史に基づいているため、一部の画像は数百年前に遡るということです。

最初にそれが可能かどうか、そして次に私が何をしているのかを知らずにデータベースを編集したくありません。

他に提案できる解決策がある場合は、これが最も簡単に思えます。

2
jonboy

タグコンポーネントのインポートオプションはありません。これは、各行のテーブルのすべてのフィールドを考慮する必要があるため、データベースへのそのようなインポートを困難なプロセスにします。各行の挿入ステートメントは次のようになります。

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

これは、多くの手動の書き込みを必要とします。さらに、タグはネストされたセットモデルを使用して親子関係を構築しており、これには多くの計算が必要です。相対フィールドの正しい値を見つけるため。タグのバッチ処理または再保存は、タグコンポーネントのこれらの問題を修正することが証明されておらず、ACLマネージャー(サードパーティの拡張機能)はそれを処理しません。

したがって、上記のすべてを処理し、タグ付きのファイルをバッチインポートできる別のスクリプトがない限り、バックエンドから手動で、またはコンテンツの作成中にそれらを作成するのが最善の方法です。

それらはこれに関する私の最初の考えですが、多分誰かは別のより良いアイデア/提案を持っています...

2
FFrewin

最初にこれらのタグを作成する必要はありません。必要に応じて、その場で作成できます。

タグフィールドがあるコンテンツ編集画面で、その場でタグを作成できます。可能なタグの名前の入力を開始します。 3文字になると、すでに存在するタグの候補が表示されます。新しいタグを作成する場合は、名前を入力してEnterキーを押すと、保存時にタグが作成されます。

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

0
fruppel