夏休みにプールに行ってきた日の午後を思い出すような、けだるーい感じ。リンパドレナージュって、全身運動したのと同じ効果があるってこれのことかな?ぐっすり眠って寝起きはスッキリ。タグ:雑記baserCMSをバージョンアップしたら管理画面ダッシュボードにエラーが表示される時にできることbaserCMSの4.0.1から4.0.5.1にアップしたら、突然管理画面にエラーが表示されるようになりました。※管理システム用のアセットファイル(画像、CSS、Javascript)を削除したり、コアパッケージよりサイトルートフォルダに再配置します。〇サーバーキャッシュは、いつもおまじないの様に削除します。〇ブラウザのキャッシュも削除。(私はここで躓きました)これで無事にエラーが解消されました。タグ:baserCMSbaserCMSで本文が長すぎて保存できない時baserCMSで記事を登録するときに、本文が長すぎて保存できない場合はMySQLの型変更をすると保存できるようになりました。contents型がtextだったので、これをmediumtextへ変更しました。これでも足りない場合はlongtextに変更したらいいかも!大は小を兼ねるのであればlongtextにしたいところだけどmin値があるみたいなので長さに応じて変更が必要かもしれません。LONGTEXT今回は固定ページだったけれど、ブログ本文でも同じかな。baserCMSのバージョン番号が記述されているファイルです。このファイルに、末尾「-dev」のバージョンが記載されているものが、開発版になります。開発版をアップデートする前に開発版コアのアップデートもリリース版と同様、バージョンによってはアップデートスクリプトを実行してDBデータを更新する必要があります。アップデートスクリプト確認方法DBデータ更新の必要性は、バージョンアップスクリプトの有無で判断します。バージョンアップスクリプトが存在する場合は、以下のフォルダ内にバージョン番号と同じフォルダ名で格納されています。いう情報が保存されています。番号が違う場合、メンテナンス画面に強制遷移しています。上記2つの番号を合わせる為に、アップデーターによってアップデートを行う事になります。みたいな感じに-devが付与されていて、アップデーターが動作しない仕様となっています。これは、開発版のアップデーターが中途半端な状態である可能性が高い為、「サポートしていない」という事を意味しているようです。相違は気にせず、メンテナンス画面に遷移しないようにしようという事になります。元の番号に戻す(=データベースに保存されているバージョン番号と同じにする)だけでいいのですが、データベースの更新が発生している場合は、スクリプトを実行する必要があるという事になります。開発版はあくまで開発版なので不具合が存在する可能性がある事を認識した上で利用しましょう。ローカル環境(MAMP)にインストールした所、管理画面のどのリンクをクリックしても別タブで開いてしまって困ってました。'a:not([target])',と言う記述を次のように変更しました。'',すると、全てのリンクが同じウィンドウで開くようになりました。始まるアドレスのソースになっているため、外部リンクと判断してしまっていたようです。|5/21に引っ越しが決定しました引っ越しします!と言っても市内移動なのですが、当初引っ越し予定だった4/20からずれずれでやっと5/21に引っ越しが決定しました。今度が最終決定・・・だといいな。3月前半には引っ越しのお見積もりに来ていただいて契約したものの、まだ引っ越し予定日がはっきりしてなくて、置いて行かれた段ボールの束が部屋を圧迫してました。?と4月頭辺りから梱包作業を少しずつ始めたものの、最終的には1ヶ月余り遅くなってしまったので1回梱包した段ボールからガムテープはがして出したり戻したり(^_^;)どこまで梱包してしまうか判断が難しくて悩みどころです。前日辺りに一気にやってしまうのが正解かもしれないですね!そんな生活もあと10日程で終わります。メニューから[Preferences]を選択します。[General]パネルで[Downloads]をクリックします。[Downloads]ウィンドウで[Components]タブを選択します。Tools]の横の[Install]ボタンをクリックします。してログインするよう求められます。新機能紹介4/5にリリースされた新しいbaserCMSは、21個も新機能が追加されて、どれも魅力的なものばかりです。先日baserCafeで色々教えていただいたので、その中でも、これはどこかで使えそうだと思ったものをいくつかご紹介します。管理画面のテーマ管理のレイアウトが変わってとても見やすくなりましたね。icons」も標準梱包テーマとして組み込まれています。そこには、「初期データ読込」というボタンが追加されています。このボタン、気軽に押してはいけません!危険ボタンだけあって、ちゃんとアラートがポップアップして警告してくれますが、そこには以下のように書かれています。初期データを読み込みます。初期データを読み込むと現在登録されている記事データや設定は全て上書きされますのでご注意ください。プラグイン管理情報、管理ログは読み込まれず、ユーザー情報はログインしているユーザーのみに初期化されます。システム管理的な情報も、固定ページのコンテンツも、頑張って書いたブログも全て初期状態に戻ります。これ、ちゃんと使えばとっても便利な機能なんです。制作するサイトに共通点がある場合とかは、マイ初期データを作っておいて、それを読み込んでから作り込むと同じことを何度もする必要がなくなります。素敵ですね!さっきのテーマ管理ページのサブメニューにある、「テーマ用初期データダウンロード」リンクをクリックして、サイトとして作り込んだデータをダウンロードします。初期データ読み込みの時と同じように、アラートが表示されます。現在のデータベースの状態を元にテーマ用の初期データを生成しダウンロードします。よろしいですか?ダウンロードしたデータは、配布用テーマの/{使用しているテーマディレクトリ}/config/data/内に配置してください。アラートに出ているように、テーマディレクトリの中に、configというディレクトリを作成して、その中にdataというディレクトリを作成します。初期データのアーカイブがダウンロードできるので、それを解凍したものを作成した/{使用しているテーマディレクトリ}/config/data/hogehoge/の中に配置します。hogehogeは初期データ名になります。自分の好きな名前を付けてください。すると、「初期データ読込」ボタンの左側にあるセレクタの中に、作成した初期データが選択できるようになるので、選んで読み込みます。ここで注意なのですが、初期データをダウンロードした時の「現在のテーマ」の情報も一緒にダウンロードされます。これを読み込むと、現在のテーマも書き換えることになります。ダウンロードした時のテーマと読み込み先のテーマが同じなら問題ないですが、もし違う場合はいきなりテーマが変わってしまってびっくりするかもしれません。読み込み先にそのテーマが存在しない場合はエラーになってしまいます。そこで、初期データを読み込んでも「現在のテーマ」を書き換えないようにするための方法があります。いうファイルを開いて見てみると、現在のテーマの情報として、"","theme","noda-icons","",""という行があるので、その情報をからっぽにしてしまいます。"","theme","","",""こうしておくと、読み込んだ時にテーマが変わってしまうということはなくなります。ローカル環境で開発して、固定ページもお問い合わせも作り込んで、グローバルナビも設定して、ブログのレイアウト指定なんかもしている場合、制作完了していざ本番サーバーへ乗せ替えるぞ!なんて時は、サーバーの管理画面でもう一回同じことしないといけないなんて面倒くさいですよね。SQLダンプしてサーバーにインポート、というプログラマ的な解決方法もありますが、この機能を使えば気軽に簡単に乗せ替えすることができるのです。ローカルからサーバーへの乗せ替えの場合は、初期データというよりは完成データなのですが、baserCMS的にはダウンロード&読み込みできるデータは初期データという名前で扱うようです。私はこの使い方で利用することが多くなりそうです。固定ページの中にソースビューでphpやjsを書くことってたまにありますよね。レイアウトを指定したり、ちょっとしたjsを書いたり。デザインビューで編集していると、知らない内に削除してしまったりってあると思います。自分で更新する場合はいいけれど、別の方が管理する時にはちょっと心配になりますよね。そんな時にこの隠しコードに記述しておくと、安心です。隠しコードは、固定ページ下部のオプションボタンをクリックすると出てきます。オプションの中に隠れているから隠しコードってことですね?ね!?本来の目的とは外れるかもしれませんが、実はこのフィールド、PHPやJSに限らずHTMLも書けちゃいます。入力したコードは、自動的にコンテンツ本体の上部に差し込まれるので、普段編集しないようなタイトル兼メイン画像なんて入れておくことにも使えるということになります。一応、baserCMSのルール的にはPHPやJSを入れた方がいいのかもしれないです。?>とか書いてましたよね。今回追加されたレイアウト切り替え機能は、カテゴリ単位でレイアウトファイルを設定することができるものです。固定ページカテゴリーの登録または編集時に、オプションバーをクリックすると選択できるようになります。レイアウトファイルは今までと同じく、/{現在使用しているテーマディレクトリ}/layouts/の中に作ってくださいね。カテゴリごとに一括してレイアウトを変更できると、楽に制作の幅を広げることができそうですね!カテゴリ単位だけでなく、全体の固定ページレイアウトも変更できるようになったようです。今まで全体の固定ページレイアウトは、default.phpと決まってましたが、これもシステム設定で変更することができるようになってます。オプションバーを開いて「固定ページ関連」で設定してください。コンテンツテンプレートこの機能も上記の固定ページレイアウトと同じくカテゴリ単位で指定できるテンプレートです。ページレイアウトとどう違うの?という疑問を分かりやすく解決するためにイラストにしてみました。?>の中だけのレイアウトファイルになります。?>を記述することで、管理画面のエディタで入力したコンテンツがその場所に表示されます。複雑なレイアウトも可能ですが、基本的にはコンテンツの上下に差し込むイメージなので、カテゴリごとのヘッダーやフッターを入れることなんかが可能になります。レイアウトファイルは、/{使用しているテーマフォルダ}/pages/templates/の中に設置することで選択できるようになります。エディタテンプレート機能この機能は、よく使うレイアウトをテンプレートとして登録しておくことで、WYSIWYGエディタで呼び出すことができるというものです。WYSIWYGエディタのツールバーに新しいアイコンが登場してますね。これをクリックすると、テンプレート選択ウィンドウがポップアップします。「現在のエディタの内容は失われます」とありますが、エディタ内の記事を残したい場合は、一番下のチェックボックスのチェックを外すと追加で差し込んでくれます。間違えてまるまるっと入れ替わってしまった時は、Ctrl+Zで戻すこともできるようです。これはブラウザの機能なので絶対戻せるとは限りません。・画像(左)とテキスト・画像(右)とテキスト・テキスト2段組baserCMS本体に上記3つのテンプレートが準備されています。システム設定のサブメニュー「エディタテンプレート管理」で追加登録や編集することができます。初期状態のテンプレートは画像がテキストになってますので、サンプル画像と入れ替えて登録しておくことも可能です。似たようなレイアウトのページを増やす時に、元になる固定ページやブログ記事の編集画面を開いて利用したい箇所のコンテンツをコピーしてから、新規作成した編集画面でペーストした後に必要な部分だけ修正して作成するというとても面倒なことをしたことがあります。それが納品物だったりすると、お客さまに同じことをしていただくのは申し訳ないなあと思っていました。言って、一から作っていただくのはもっと難しいですよね。そんな時に、今回追加されたこのエディタテンプレートが役に立ちそうです。初期データ書き出し・読み込み機能で紹介した初期データに一緒にテンプレートの情報も書き出されることになります。エディタスタイルセットWYSIWYGエディタ内でデザインを適用する「スタイル」を管理画面から編集することができるようになりました。このスタイルとは、エディタ内でテキストを予め選択状態にしておいてから、スタイルの種類を選ぶというものです。テキストの色を変えたり大きさを変えたりすることができます。このスタイルの項目を編集するには、システム設定下部のオプションバーをクリックして「エディタ設定関連」の「エディタスタイルセット」を編集します。スタイルシートの形式で記述できるのはとても嬉しいですね。スタイルを設定するところの上にあるエディタの改行モードの変更は今まで無かったと思いますが、改行時に自動的に<p>タグで括られていたのが、<br>タグと選択して利用できるようになったみたいです。WYSIWYGのエディタ内で利用するCSSを指定できる機能を実装WYSIWYGエディタでスタイルを確認しながら編集できるという機能が、新しいバージョンで追加されました。/{使用しているテーマフォルダ}/css/editor.css上記の様にスタイルシートを作成して、その中にスタイルを追加していきます。トップページのエディタだけなど個別に指定するようなことはできないみたいです。最低限の共通スタイルになるのかなと思います。ところが、、、エディタ適用されないーーー!どうやら何かの不具合があるようです。対策されるのを待ちましょう。言っている間に修正パッチが配布されたという情報をいただきました!早いですね!!修正パッチはコア開発プロジェクトのページから取得できます。上記リンクのページから「bc_ckeditor.php」というリンクをクリックして下さい。ファイルの中身(ソース)が表示されますが、ソース表示の上のところに「ダウンロード(13.2KB)」というリンクがあるのでクリックします。「bc_ckeditor.php」というファイルのダウンロードが始まりますので、ダウンロードしてください。ダウンロードしたファイルを、利用しているbaserCMS2.1.0の以下のフォルダにコピーします。同名のファイルが存在しているはずですので、上書きコピーになります。■ファイルのコピー場所/baser/views/helpers/(同名ファイルが既に存在していますが、上書きしてOKです。)上記の手順を踏むと、修正が適用され正常にエディタCSSが適用されるようになります。フォーラムの記事を参考にさせていただきました。このeditor.cssを空の状態で設置すると、初期状態で登録してあるエディタテンプレート3つのスタイルが、WYSIWYGエディタ内できかなくなってしまいます。/baser/vendors/css/ckeditor/contents.cssこのファイルにスタイルが書かれてあるので、中身をまるっとコピーして先程設置したeditor.cssの中に保存しておきましょう。新たにエディタテンプレートを追加した時もこのeditor.cssにテンプレート用スタイルを記述しておくことで、テンプレートが使いやすくなりますね。ブログアイキャッチ画像ブログにアイキャッチ(サムネイル)アップロード機能が追加されました。記事の編集画面で追加と上書きと削除ができます。アップロードするだけでは表示されないので、テンプレートの方で呼び出してあげる必要があります。?>これで呼び出すことができます。呼び出す時には、$postsのforeach文の中に記述します。?>この呼び出しにはオプションを追加することができます。オプションは配列形式で渡します。それ以外の値を渡すとアップロードしたサイズの画像を表示するようです。falseにすると画像クリックで拡大表示できなくなります。trueにするとサムネイル画像がモバイルサイズになります。imgタグの属性値である代替文字を入力できます。imgタグの属性値である幅を入力できます。imgタグの属性値である高さを入力できます。画像がなかった場合に表示する画像を指定できます。画像が存在した場合は何も表示されません。imgを囲むaタグにclassが反映されます。linkがfalseだとimgに入ります。idも同じように指定できます。アイキャッチアップロード時に、元画像・PCサイズ・携帯サイズの3サイズの画像が保存されます。ブログの設定画面でブログごとにアイキャッチ画像サイズを設定できます。PCサイズは300x300px、携帯サイズは100x100pxが初期設定になってます。※windowsローカル環境で開発している場合、アップロード時にパスが\でDBに保存されるので注意が必要です。アップロードしてファイルも存在するのに表示されない時は、画像パスを確認してみてください。スマホ携帯PC連動スマートフォンとモバイルを対応するということは、それぞれ専用のレイアウトで専用の固定ページコンテンツをPCサイトとは別に作成するということです。ユーザーエージェントで判断して、それぞれのアドレスに自動的にリダイレクトしてくれます。システム設定に「モバイル」と「スマートフォン」の対応について選択できる場所があります。モバイルはいわゆる「ガラケー」と呼ばれる携帯電話だと思っていただいて大丈夫です。私は大抵スマートフォンは対応しないを選ぶのですが、特に必要がない場合は対応しないを選ぶことで、PCサイトを表示してくれます。モバイルは表示サイズの範囲内であればという制限付きですが表示してくれます。この場合は、レイアウトと固定ページコンテンツはPC用一つを準備すれば大丈夫です。レスポンシブデザイン時に最適ですね。レイアウトはPCサイトとは別に用意したいけど、固定ページコンテンツはPCサイトと同じでいいのだけど・・・ということもあると思います。今回の新バージョンで、「対応する」を選んだ場合、固定ページをPCとを連動するかどうか選択できるようになりました。今までは選ぶことができずにそれぞれ固定ページのコンテンツを作成しなくてはならなかったのですが、連動できるようになったことでレイアウトはスマートフォンやモバイルのもので、固定ページコンテンツはPCのコンテンツを表示してくれるようになり、制作・更新が楽になりました。連動する設定にした状態で固定ページ編集画面のオプションバーを開くと、一番下に「このページだけ連動しない」というチェックボックスが現れます。ここにチェックするとコンテンツもスマートフォン・モバイル専用に別に作成することで表示させることができます。アップローダーレイアウト(おまけ)baserCMSのアップローダープラグインは必ずと言っていいほど毎回利用させていただいてます。本体に同梱されていないプラグインですが、今回のbaserCMSバージョンアップに合わせてこのプラグインも新バージョンがリリースされました。アップローダー2.1.0ダウンロード変わったところはレイアウトタイプを選べるようになったことです。パネル(今までのレイアウト)テーブル(新しく追加されたレイアウト)新しいレイアウトはbaserCMSの管理画面っぽくなってますね。個人的にはテーブルの方が見やすいと思います。システム管理のメールSMTPポート設定(おまけ)ポートの設定が新たに追加されました。この機能は、baserCMSを設置したサーバーのメール送信機能が使えない時に設定することで、設定したサーバーを利用してメール送信できるというものです。ローカル環境に構築した場合、サーバーの難しい設定をしなくてもお問い合わせや新着コメントメールが送れるようになります。今まではポートの設定項目がなかったと思いますが、新しいバージョンでは追加されたようです。ブログカテゴリの追加が簡単になりました(おまけ)キャプチャ画像を見たらすぐ分かっていただけると思いますが、ブログ機能のカテゴリ追加が記事の追加・編集中でもできるようになりました。今までカテゴリは別ページで登録しなければならなかったので、今回のアップデートで更に使いやすくなりました。以上でbaserCMS2.1.0の新機能紹介を終わらせていただきます。ユーザーの要望に応えて少しずつ便利になっていくbasreCMS。今後のバージョンアップではCakePHP2の対応も予定しているそうです。コア開発に協力してくれる方やプラグインを開発してくれる方が増えていってくれると嬉しいです。タグ:機能紹介baserCMSで「簡単なブログ」プラグインを作ってみるチュートリアルbaserCMSのプラグインを作るための準備はできたけど、具体的にどうやって作ったらいいの?という人のためのチュートリアル記事です。今回は、「簡単なブログ」プラグインを作成してみましょう。表示」の機能を実装します。データベースを作成するまずは、ブログ記事を保存しておくデータベースを作成します。3項目は基本的には必須項目です。ちなみに、プラグインテーブルの命名ルールは、bc_pg_プラグイン名_テーブル名で作成すること、となっているので、このルールに沿って作成くださいね。今回チャレンジする、「簡単なブログ」で作成するディレクトリやファイルの一覧です。viewsの3つを作成することになります。データベースの接続設定をします。CakePHPでは、PHP4との互換用に書くもののようですが、baserCMSではPHP5を使っていても必須項目になっているみたいです。プロパティを設定します。データベースへの接続設定が書かれてあります。2つの違いはプレフィックスです。なっているので、ここで設定しておきます。ファイルとだいたい一致してますよね。