ページタイプの削除で警告が出る対処方法

ページタイプの削除実行時、ページ情報が残っている警告が出る場合の該当ページ(ページバージョン)を確認(削除)する方法 concrete5(5.6.3.3.ja)

★ページのページタイプをデザインで変更したのに、削除できない。
 公式ページ(concrete5-japan.org)→コミュニティー/フォーラムの回答では、「どこのページでも一切使っていないページタイプでないと削除はできません。」とのこと。
 concrete5には履歴を管理する機能があり、この過去の履歴に削除したいページタイプがあると削除できません。
履歴の古いものを全て削除すればいいのですが、仕組みの構造を理解するために、バージョンを決め打ちで削除する方法を記載してみました。

 ※公式ページ内での検索方法→サイト上部にある、検索窓に、ページタイプを削除するにはと入力して、検索してください。ページタイプを削除するにはの投稿を参照ください


このページタイプを削除するには、このページタイプを使用している全てのページを削除し、このページタイプを使用している全てのページバージョンを取り除く必要があります。

[※]警告ダイアログ

werning_c5_page_type_del_0.JPG



★本操作を実施する前に必ず、データベースのバックアップを取得してください。
 ※当サイトの方法は、自己責任にてお願いします。
   (管理画面での削除ですので、特に問題となることは少ないと思われます)

 (方法1) concrete5にてバックアップ→の管理画面ドロップダウンメニュー(末尾)→システムと設定→データベースをバックアップ→「バックアップを実行」
 (方法2) phpMyAdminにてバックアップ(実際の方法は、ご契約のホスティングのヘルプページもしくは、別途検索してください)
    
※「■高度版」ではphpMyAdminが必要となります

「簡易版」・・・とりあえず、不要なページタイプが削除できればよい場合
「高度版」・・・必要最小限の変更、削除のみで、不要なページタイプを削除する場合

「簡易版」

 [Step1]ゴミ箱→空
 [Step2]削除したいページタイプから作成したと思われる、ページの最新以外の全てのバージョンの削除
 [Step3]ページタイプの削除(ページタイプ→デザイン→[右下にあるボタン]削除)

※(管理画面)→「フルサイトマップ」での「ごみ箱」の表示方法
concrete5の管理画面→フルサイトマップ→(右上)オプション→「システム設定」にチェック

[1]サイトマップ→右上の「オプション」をクリック
saitemap_1.JPG

[2]左上の「システムページを表示」にチェック
saitemap_2_system_on.JPG

[3]サイトマップをスクロールすると、以下の項目が現れます
saitemap_3_recycles.JPG

[4]「ゴミ箱」をクリックして、「ゴミ箱を空にする」を押します
saitemap_4_recycles_del.JPG




「高度版」(phpMyAdmin操作、簡単なSQLがわかる方

 [Step1]phpMyAdmin内で、SQLにてページの削除バージョンを探す
 [Step2][Step1]で見つけた、ページのバージョンを削除
 [Step3]ページタイプの削除

 

 [Step1]phpMyAdmin内で、SQLにてページの削除バージョンを探す

1)消したいページタイプのページIDを確認する。

 ・「管理画面」→「ページタイプ」から、削除したいページタイプを確認する
  例)CMSアーカイブ (※cID=16を探します)


  確認するテーブルは、PageTypes

SQL)select * from PageTypes;

これをphpMyAdmin(ログインしてください。
※ログイン方法は、各ホスティングのヘルプ等を参照)の『SQL』欄にコピー&ペーストして検索してください

SQL の結果

Host: localhost8889
Database: concrete5
Generation Time: 2015 年 5 月 12 日 23:21
Generated by: phpMyAdmin 4.2.10 / MySQL 5.5.38
SQL query: select * from PageTypes LIMIT 0, 30 ;
行: 12

ctIDctHandlectIconctNamectIsInternalpkgID
1 core_stack main.png Stack 1 0
2 dashboard_primary_five main.png Dashboard Primary + Five 1 0
3 dashboard_header_four_col main.png Dashboard Header + Four Column 1 0
4 blog_entry template1.png ブログ記事 0 0
8 information right_sidebar.png お知らせ 0 0
10 front_page right_sidebar.png トップページ 0 0
11 default right_sidebar.png Default 0 0
14 about_us right_sidebar.png マインドハーツについて 0 0
15 concrete5 template1.png CMS情報 0 0
16 cms_archive right_sidebar.png CMSアーカイブ 0 0
19 info_entry template3.png お知らせ投稿 0 0
18 cms_entry template1.png CMS投稿 0 0

※上記の結果表示用Tableは、jquery plugin の jQuery Basic Table を使用して整形しています

これで『CMSアーカイブ』のページID(cID=16)が見つかりました。

2)続いてこのページタイプを持つページを取得する。
  ※このページの特定バージョンがあるから消せない。
  ※以下の検索するテーブルでは、列IDがctIDとなっているので注意
  このctID=16 をキーとして、ページバージョンが残っていないかを確認する。

確認するテーブルは、CollectionVersions

SELECT * FROM CollectionVersions where ctID = 16 ORDER BY cID DESC, ctID DESC;
SELECT count(*) FROM CollectionVersions where ctID = 16; (件数確認用)

SQL の結果

Host: localhost8889
Database: concrete5
Generation Time: 2015 年 5 月 17 日 00:29
Generated by: phpMyAdmin 4.2.10 / MySQL?5.5.38
SQL query: SELECT * FROM CollectionVersions where ctID = 16 ORDER BY cID DESC, ctID DESC LIMIT 0, 30 ;
行: 6

cIDcvIDcvNamecvHandlecvDescriptioncvDatePubliccvDateCreatedcvCommentscvIsApprovedcvIsNewcvAuthorUIDcvApproverUIDptIDctIDcvActivateDatetime
202 1 追記データ add_data150321 設定 2014-11-21 11:53:00 2015-03-21 11:54:37 Version 1 0 0 1 1 8 16 NULL
202 2 追記データ add_data150321 設定 2014-11-21 11:53:00 2015-03-21 11:57:30 新バージョン 2 0 0 1 1 8 16 NULL
202 3 追記データ add_data150321 設定 2014-11-21 11:53:00 2015-03-21 11:59:23 新バージョン 3 0 0 1 1 8 16 NULL
202 4 追記データ add_data150321 設定 2014-11-21 11:53:00 2015-03-21 12:02:25 新バージョン 4 0 0 1 1 8 16 NULL
201 1   NULL NULL 2015-03-19 06:15:08 2015-03-19 06:15:08 Version 1 1 0 NULL 1 0 16 NULL
130 18 検索 search 検索&結果の表示ページ 2015-01-29 17:02:00 2015-05-05 18:01:02 Version 18 0 0 1 1 8 16 NULL

※上記の結果表示用Tableは、jquery plugin の jQuery Basic Table を使用して整形しています

これで6件が見つかりました。

cID::ページ
cvID::バージョン番号
cvName::ページバージョンのページ名
cvHandle::ページバージョンのハンドル名

※cvName が空白は、削除したいページタイプ『
CMSアーカイブ

 [Step2][Step1]で見つけた、ページのバージョンを削除

1)該当するページ『追記データ』のバージョン『Version 1,新バージョン 2, 3, 4』を「ページ」→「バージョン管理」で、削除する。不要なら、最新のみを残し、全て削除する。

page_version_del_150517.JPG

page_version_del-4_150517.JPG

page_version_del-5_150517.JPG

2)該当するページ『検索』のバージョン『Version 18』を「ページ」→「バージョン管理」で、削除する。

page_version_del-2_150517.JPG

page_version_del-3_150517.JPG

select * from Pages where cIsTemplate = 1;
※本来、ページとページタイプはリレーションがあり、ひも付けがわかるが、すでにデザインで変更した後なら、わからない。

 [Step3]ページタイプの削除

[1]ページタイプ→『CMSアーカイブ』の「設定」ボタンをクリックpage_type_150517.jpg


[2]『CMSアーカイブ』右下の「削除」ボタンをクリック
page_type_150517-2.jpg

[3]『CMSアーカイブ』が警告なく削除できたらOK
page_type_150517-3.jpg

完了

サイトマップでゴミ箱を表示する

※(管理画面)「サイトマップ」での「ごみ箱」の表示方法 concrete5(5.6.3.3.ja)

管理画面→サイトマップ→(右上)オプション→「システム設定」にチェック


[1]サイトマップ→右上の「オプション」をクリック
saitemap_1.JPG

[2]左上の「システムページを表示」にチェック
saitemap_2_system_on.JPG

[3]サイトマップをスクロールすると、以下の項目が現れます
saitemap_3_recycles.JPG

[4]「ゴミ箱」をクリックして、「ゴミ箱を空にする」を押すと、削除したページが完全に消去されます
saitemap_4_recycles_del.JPG

ブログの日付アーカイブページネーション表示しない

 自己解決しました。 → ユーザーページの質問&回答

 “各月ごとの検索結果でページネーションが効く”ことが思った仕様での表示ができていない原因でした。

タグや検索結果において、ページネーションが発生したとき、 サイドバーに置いていた、
「ブログの日付アーカイブ」(date_archive)ブロックの カスタムテンプレートにて以下のように、

2015年4月 (4)
2015年3月 (2)
2015年2月 (1)
2015年1月 (1)

月ごとの件数を出力しています。
このとき、インデックスページリストを使って月の件数を取得しています。

concrete/blocks/date_archive/view.php -> リネームコピーして以下 blocks/date_archive/templates/date_archive.php ←名前適宜 このview.php(date_archive.php)途中に、以下を追加します。

もともと、各月ごとに表示する仕様ですので、 月のループごとに都度検索処理しています。

Loader::library('database_indexed_search'); // 追加
$i=0; while(true) {

// 追加 ここから
$ipl = new IndexedPageList();
// エイリアスを無視
$ipl->ignoreAliases();
$ipl->setSimpleIndexMode(true);
$year_month_query = $workingDt->format('Y') . '-' . $workingDt->format('m') . '-';
$ipl->filterByPublicDate($year_month_query . '%', 'like');
$aksearch = true; $ipl->filterByPath('/concrete5', true);
// $ipl->filter(false, '(ak_exclude_search_index = 0 or ak_exclude_search_index is null)');

// 検索結果(各月ごと検索でページネーションが効くので無効0にする)
$ipl->setItemsPerPage(0);
$res = $ipl->getPage(); $month_count = count($res);

// 上記の値を、echo '(' . $month_count . ')'; 等で表示してあげてください。
// 追加 ここまで

サイト管理者教育について(※)

(※)お知らせから、そのまま転用しています。
  こちらに記載しておくほうが、わかりやすく、見やすいと思いました。
  すみませんでした。

基本、WordPressでのサイト管理方法をお伝えするサービスとしております。

しかしながら、今回、「気になる、CMS」でもお伝えの通り、もっとお客様自身で、運用管理主体となっていただくには、このCMSもすごく魅力的です。

その理由としまして、全てのページの編集管理をWebブラウザ上でできるほうが
お客様にとっての本来の運用・管理のありかただと思うからです。

 最も、広く世間に知られていないのは、もともとが有償だったことと、伝え広める方策が十分でなかったからかもしれません。また、MovableTypeというブログと言えばほぼスタンダードだった、CMSが有償化されたことも大きいかもしれません。
 ※MT6(2013.10月)からビジネス使用が有料のみとなった
これにより、一気にWordPressが有名となり、比較的中小規模な会社サイトがWordPressで構築されるようになった。

 WordPressはどうしても、テーマとして選んだページ以外を作成したいと思うと、
構築業者様のサポートが多くなります。しかしながら、新しいテーマさえこちらでご用意できれば、あとは、全てお客様側で、教育だけでなく自主的に作成・投稿が実施いただけるように思うからです。

 ※全く違うテーマも設定しておけば、ページ単位で利用が可能です。
WordPressはできても、親子関係のみです。

※プラグインでカスタマイズが容易なのは、あくまでエンジニア目線だからです。
ここに以外と気づいておりませんでした。

 このCMSだと、各ページを作り込むことができます。それこそが、私たちが考えるサイト管理者教育です。

 具体的な手順や詳細などは、順次紹介していきますので、今しばらくお待ちください。