web-dev-qa-db-ja.com

コンテンツタイプのURLエイリアスを一括で削除するにはどうすればよいですか?

すべてのURLエイリアスを一括で削除するコンテンツタイプがあります。現在、pathauto urlエイリアスページには、タイプに関係なくすべてのコンテンツurlエイリアスを削除するオプションしかありません。

特定のコンテンツタイプのみに一致するURLエイリアスを一括で削除するにはどうすればよいですか?

また、phpmyadmin経由でurl_aliasesを削除してもかまいませんか? url_aliasesテーブルが他のテーブルにリンクされているかどうかはわかりません。

5

Views Bulk Operations を使用します。

  • コンテンツタイプのpathautoパスを必要なデフォルトに設定しますが、一括更新しないでください
  • 興味のあるコンテンツタイプの単純なビューを作成する
  • 「一括オプション:コンテンツ」フィールドを追加します
  • 一括操作設定の下で、「すべてのページのすべてのアイテムを選択する」を有効にします。
  • 更新を選択Node Alias
  • 必要に応じてフィルターを追加します

ビューページに移動し、すべてを選択して、特別なケースのチェックを外し、それを旋回させます

多分最初にバックアップ

8
Dom Day

SQLクエリとして実行します。最初にSELECTとして実行し、すべてが正常であることを確認します。

 SELECT alias FROM node n JOIN url_alias u ON CONCAT('node/', n.nid) =
 u.source WHERE n.type='my_type'

次に、それを編集してDELETEにします。

 DELETE u  FROM node n JOIN url_alias u ON CONCAT('node/', n.nid) =
 u.source WHERE n.type='my_type'
11