自己レスです。
個人的にbaserCMSのデータベースで事故り、多くのテーブルを手動で直す作業で難儀しましたが、
おかげでbaserCMSについてまた少し知識が向上したようで、上記の一つの課題が解決しました。
1行追加しただけですが、初めてコアを弄ることもあり、備忘録として記させていただきます。
引用:
セレクトボックスに表示されるリストが、想定していた「配列順」ではなく、
どうやら「文字のコード番号の昇順」に表示されていることです。
これは、ウィジェットに乗せたリストの順序と異なりますので困ってしまいました。
これも解決は難しそうですね。
検索窓の横につくカテゴリー検索のセレクトボックスですが、idの昇順にするには、
まず、
\lib\Baser\Model\Behavior\BcContentsManagerBehavior.php を
\app\Model\Behavior\BcContentsManagerBehavior.php に複写し、このファイルに以下の修正を加える。
<updateContentMetaメソッドを修正>
public function updateContentMeta(Model $model) {
$db = ConnectionManager::getDataSource('baser');
$contentCategories = array();
$contentTypes = array();
if ($db->config['datasource'] == 'Database/BcCsv') {
// CSVの場合GROUP BYが利用できない(baserCMS 2.0.2)
$contents = $this->Content->find('all', array('conditions' => array('Content.status' => true),
'order' => array('Content.id' => 'asc'))); // ●追加:'order' => array('Content.id' => 'asc')●
foreach ($contents as $content) {
if ($content['Content']['category'] && !in_array($content['Content']['category'], $contentCategories)) {
$contentCategories[$content['Content']['category']] = $content['Content']['category'];
}
if ($content['Content']['type'] && !in_array($content['Content']['type'], $contentTypes)) {
$contentTypes[$content['Content']['type']] = $content['Content']['type'];
}
}
} else {
$contents = $this->Content->find('all', array('fields' => array('Content.category'), 'group' => array('Content.category'), 'conditions' => array('Content.status' => true),
'order' => array('Content.id' => 'asc'))); //●追加:'order' => array('Content.id' => 'asc')●
foreach ($contents as $content) {
if ($content['Content']['category']) {
$contentCategories[$content['Content']['category']] = $content['Content']['category'];
}
}
$contents = $this->Content->find('all', array('fields' => array('Content.type'), 'group' => array('Content.type'), 'conditions' => array('Content.status' => true)));
foreach ($contents as $content) {
if ($content['Content']['type']) {
$contentTypes[$content['Content']['type']] = $content['Content']['type'];
}
}
}
$siteConfigs['SiteConfig']['content_categories'] = BcUtil::serialize($contentCategories);
$siteConfigs['SiteConfig']['content_types'] = BcUtil::serialize($contentTypes);
$SiteConfig = ClassRegistry::init('SiteConfig');
return $SiteConfig->saveKeyValue($siteConfigs);
}
以上でidの昇順になりました。