concrete5のデフォルトのフォームでは、送信者のメールアドレスが、送信者欄に記載される仕様じゃありません。
ので、外部フォームを作り変えようかと。
で、以下はいろいろ参考になるサイトなどのリンクメモです。
::::::::::::::::::::::::::::::::::::::::::
ブログ酔生夢死さんに、外部フォームの作り方メモが連載されていて、ありがたいので、勝手ながら自分用にインデックス貼っておきます。
1、外部フォームの話し(クラス名の付け方など)
2、バリデーション
3、日付と時間フィールドについて
4、画像認証(キャプチャ)について
5、メール送信
6、まとめ(サンプルコードあり)
勉強になりますm(_ _)m
で、本家ドキュメント
日本語公式サイトのブロックの作り方ページ
外部フォームサンプルコードを配っておられるmyselfArchiverさんサイトページ
2010年11月6日土曜日
2010年11月3日水曜日
シングルページのカスタマイズ準備
シングルページのカスタマイズがしたくて、準備開始です。
公式サイトに解説があったので、リンクメモ。
http://concrete5-japan.org/help/design/customize-single-pages/
/concrete/theme/core/concrete.php
をちょいちょいと修正すれば良さそう。
ヘッダーの画像を無くしたいと思っていたのですが、すぐできそうですね。
あとは、/config/set_theme_path.php
を少々変更、と。
公式サイトに解説があったので、リンクメモ。
http://concrete5-japan.org/help/design/customize-single-pages/
/concrete/theme/core/concrete.php
をちょいちょいと修正すれば良さそう。
ヘッダーの画像を無くしたいと思っていたのですが、すぐできそうですね。
あとは、/config/set_theme_path.php
を少々変更、と。
2010年10月31日日曜日
concrete5であるページにだけheader.php内にてコードを適用させたメモ
concrete5であるページ(例:home)だけheader.php内で、jQueryを適用したい場合などは、以下のようなコードが有効でした。
Page::getCurrentPage()でページオブジェクトを取得し、->getCollectionID()でページのcIDを取得。
そして、上記の例ではcID==1すなわち、homeのページに対してjQueryコードを適用する、ということをしています。
備忘録とご参考まで。
<?php $c = Page::getCurrentPage(); $currentcID=$c->getCollectionID();if($currentcID==1){ ?> <script type="text/javascript"> $(function(){ $('#test').css({opacity:0,left:200}); }); </script> <?php } ?>
Page::getCurrentPage()でページオブジェクトを取得し、->getCollectionID()でページのcIDを取得。
そして、上記の例ではcID==1すなわち、homeのページに対してjQueryコードを適用する、ということをしています。
備忘録とご参考まで。
2010年10月18日月曜日
droppyとIE6とz-indexと。
jQueryのプラグイン、droppyを使っていて、IE6でおかしなことになっていることに気づきました。
表示順がおかしくなっている。。。
色々調べて、z-indexとposition:relative;の関係だと判明。
http://learnaboutcss.blogspot.com/2010/10/ie6z-index.html
無事、IE6でも表示できるようになりました。
(droppyでliが上下二段になると、どうしようもないかも。。orz IE6アップグレードを進めていくしかないですね。。。)
表示順がおかしくなっている。。。
色々調べて、z-indexとposition:relative;の関係だと判明。
http://learnaboutcss.blogspot.com/2010/10/ie6z-index.html
無事、IE6でも表示できるようになりました。
(droppyでliが上下二段になると、どうしようもないかも。。orz IE6アップグレードを進めていくしかないですね。。。)
xamppでログインできず焦りました。
本番環境のものをローカルで検証するため、
xamppに環境を作ってみました。
すると、なぜかログインが出来ない。。
DBを見てもちゃんとインポートは完了しているのにおかしい。。
とやや悩んで、よく考えたら、
config/site.phpのpassword_saltの値をもってきていなかったのでした。
持ってきたら、無事ログイン完了。
ほ。
xamppに環境を作ってみました。
すると、なぜかログインが出来ない。。
DBを見てもちゃんとインポートは完了しているのにおかしい。。
とやや悩んで、よく考えたら、
config/site.phpのpassword_saltの値をもってきていなかったのでした。
持ってきたら、無事ログイン完了。
ほ。
2010年10月12日火曜日
databese managerが便利
concrete5でDBを参照する際、phpMyAdminで参照するのは一般的だろうが、
concrete5のアドオンで「database manager」という便利なものを使う手もある。
http://www.concrete5.org/marketplace/addons/database-manager/
無料。
concrete5の管理画面で、シームレスにDB内容を参照でき、
sqlも実行できる。
concrete5のアドオンで「database manager」という便利なものを使う手もある。
http://www.concrete5.org/marketplace/addons/database-manager/
無料。
concrete5の管理画面で、シームレスにDB内容を参照でき、
sqlも実行できる。
2010年10月11日月曜日
z-index.やはり鬼門。
concrete5のテーマを作っていて、
ブロック追加をするクリッカブルな領域に、z-index指定をするとやはり、追加出来なくなる現象に悩みました。
(前にも書きました。http://learnaboutc5.blogspot.com/2010/07/z-index.html 良く覚えていなかった。。)
やっぱり、concrete5でクリッカブルな領域にz-indexを指定するのは鬼門です。
ブロック追加をするクリッカブルな領域に、z-index指定をするとやはり、追加出来なくなる現象に悩みました。
(前にも書きました。http://learnaboutc5.blogspot.com/2010/07/z-index.html 良く覚えていなかった。。)
やっぱり、concrete5でクリッカブルな領域にz-indexを指定するのは鬼門です。
2010年10月9日土曜日
ページタイプのDBにおけるフィールド名は、ctIDの様子。
無駄につくってしまったページタイプを削除しようとしたら、
そのページタイプを適用してしまっているページを削除しないことにはそのページタイプは削除できない、という当然な警告が発せられ困った。
そのページタイプを適用したページが見つからない。。
で、データベースを直接見ることにした。
まず、ページタイプは、ctIDとしてPageTypesに定義されている様子。
Pagesテーブルに、ctIDについての記述もある。
そこで、Pagesテーブルにて、SQL文を発行。
ctIDが9のページを探す必要があったので、
SELECT * FROM `Pages` WHERE ctID=9
としたら、二ページ出てきた。
一つのページは空だったので、削除。
もうひとつは、該当ページに行って、ページタイプを変更。
それでやっと無駄なページタイプを削除できてすっきりした。
良かった。
追記:空だったページは、デフォルトページだったことが判明。空だったページを削除すると、そのページタイプの大本が無くなる。あとは、管理画面「ページとタイプ」の「ページタイプ」内で、該当ページタイプを「編集」し、一番下にある「削除」を実行すればOK。
そのページタイプを適用してしまっているページを削除しないことにはそのページタイプは削除できない、という当然な警告が発せられ困った。
そのページタイプを適用したページが見つからない。。
で、データベースを直接見ることにした。
まず、ページタイプは、ctIDとしてPageTypesに定義されている様子。
Pagesテーブルに、ctIDについての記述もある。
そこで、Pagesテーブルにて、SQL文を発行。
ctIDが9のページを探す必要があったので、
SELECT * FROM `Pages` WHERE ctID=9
としたら、二ページ出てきた。
一つのページは空だったので、削除。
もうひとつは、該当ページに行って、ページタイプを変更。
それでやっと無駄なページタイプを削除できてすっきりした。
良かった。
追記:空だったページは、デフォルトページだったことが判明。空だったページを削除すると、そのページタイプの大本が無くなる。あとは、管理画面「ページとタイプ」の「ページタイプ」内で、該当ページタイプを「編集」し、一番下にある「削除」を実行すればOK。
ブラウザの使い分けで、スピーディーに編集
普段、win版のfirefoxをメインブラウザにしている。
とても重宝しているのだが、アドオンを色々入れている関係か、動作が若干重い。
特に、concrete5の編集時などは、重めの動作になる。
そこで、firebug等を使ってのcss修正など、サイト制作、開発にはfirefox、
その他では、chromeやOperaなどでやると、けっこういい感じ。
やはりいいブラウザが増えてきて、
特にconcrete5のようなjavascriptを多用したCMSの編集には、
javascript処理の速いブラウザは良い。
ブラウザが各種出て、ありがたいなあ。
IE9もけっこうjavascriptは処理が良くなりましたね。まだbetaだが。
■追記:firefoxといえば、IPv6対策をすると,処理が早くなるかもしれない。自分の場合は体感できるぐらい早くなった。IPv6は、まだ切っていて良いかも。
http://www.google.co.jp/search?aq=f&sourceid=chrome&ie=UTF-8&q=firefox+ipv6
とても重宝しているのだが、アドオンを色々入れている関係か、動作が若干重い。
特に、concrete5の編集時などは、重めの動作になる。
そこで、firebug等を使ってのcss修正など、サイト制作、開発にはfirefox、
その他では、chromeやOperaなどでやると、けっこういい感じ。
やはりいいブラウザが増えてきて、
特にconcrete5のようなjavascriptを多用したCMSの編集には、
javascript処理の速いブラウザは良い。
ブラウザが各種出て、ありがたいなあ。
IE9もけっこうjavascriptは処理が良くなりましたね。まだbetaだが。
■追記:firefoxといえば、IPv6対策をすると,処理が早くなるかもしれない。自分の場合は体感できるぐらい早くなった。IPv6は、まだ切っていて良いかも。
http://www.google.co.jp/search?aq=f&sourceid=chrome&ie=UTF-8&q=firefox+ipv6
Droppyについて。
http://onehackoranother.com/projects/jquery/droppy/
droppyというjQueryのライブラリで、ドロップダウンメニューを使っている。
http://web-do.com/
これは、とても便利。
元々、concrete5はjQueryを根幹で使っているので、
わざわざjQueryを読み込まなくても$(function(){$("#test").css("background",""#fff")});などとしてしまえばすぐ使える。
なのでjQueryのライブラリはとても使いやすい。
(あまり使うと、処理が重くなるのはもちろんだが)
オートナビに、「カスタムテンプレート」でdroppyのjs、およびcssを読み込ませてやるとOK.
カスタムテンプレートの使い方は、以下に。
http://concrete5-japan.org/help/new_help_pages/block_custom_template/
カスタムテンプレートは、concrete5でとても便利な機能だ。
ありがたい。
droppyというjQueryのライブラリで、ドロップダウンメニューを使っている。
http://web-do.com/
これは、とても便利。
元々、concrete5はjQueryを根幹で使っているので、
わざわざjQueryを読み込まなくても$(function(){$("#test").css("background",""#fff")});などとしてしまえばすぐ使える。
なのでjQueryのライブラリはとても使いやすい。
(あまり使うと、処理が重くなるのはもちろんだが)
オートナビに、「カスタムテンプレート」でdroppyのjs、およびcssを読み込ませてやるとOK.
カスタムテンプレートの使い方は、以下に。
http://concrete5-japan.org/help/new_help_pages/block_custom_template/
カスタムテンプレートは、concrete5でとても便利な機能だ。
ありがたい。
Droppyが崩れる。。(便利なドロップダウンメニュー)
concrete5でドロップダウンメニューを使おうと思い、
「droppy」というjQueryライブラリを人から教えていただいて、気に入って使っている。
http://web-do.com/
concrete5では、
.nav-selected
.nav-path-selected
という二つのクラスでオートナビブロックのul,li,aの各要素が装飾できる。
それを使って、droppyのカスタマイズを色々しているのだが、、
今、うちのサイトでdroppyを使っていて、Operaでだけなぜか表示が崩れている事に気付いた。
firefox,chrome,IE8,IETesterでのIE6,Win SafariではOKだが、なぜかまだ原因が掴めない。
どうも、崩れているli,aの部分だけ、1px下に広がっているように見えるので、それが原因と思われるが。
なんでかな。。
::::::::::::::::::::::::::::::::::::::::::
閑話休題。
Droppyってそれにしても便利。
次の予定では、concrete5本家によるアドオンsuperfishのように、
子ページがあれば「>>」といった記号を表示して、子ページがあることが分かる実装をしたい。
PHPのソースを読み解かねば。。。
::::::::::::::::::::::::::::::::::::::::::
追記:問題解決。どうも「FL・AS」というように、中黒を全角で入れていたのが問題だったかもしれない。中黒点を抜いて半角文字のみにしたら、無事解決。全角半角対策って、面倒なことが多いな。
「droppy」というjQueryライブラリを人から教えていただいて、気に入って使っている。
http://web-do.com/
concrete5では、
.nav-selected
.nav-path-selected
という二つのクラスでオートナビブロックのul,li,aの各要素が装飾できる。
それを使って、droppyのカスタマイズを色々しているのだが、、
今、うちのサイトでdroppyを使っていて、Operaでだけなぜか表示が崩れている事に気付いた。
firefox,chrome,IE8,IETesterでのIE6,Win SafariではOKだが、なぜかまだ原因が掴めない。
どうも、崩れているli,aの部分だけ、1px下に広がっているように見えるので、それが原因と思われるが。
なんでかな。。
::::::::::::::::::::::::::::::::::::::::::
閑話休題。
Droppyってそれにしても便利。
次の予定では、concrete5本家によるアドオンsuperfishのように、
子ページがあれば「>>」といった記号を表示して、子ページがあることが分かる実装をしたい。
PHPのソースを読み解かねば。。。
::::::::::::::::::::::::::::::::::::::::::
追記:問題解決。どうも「FL・AS」というように、中黒を全角で入れていたのが問題だったかもしれない。中黒点を抜いて半角文字のみにしたら、無事解決。全角半角対策って、面倒なことが多いな。
2010年9月29日水曜日
RSSの文字数変更
concrete5でRSSブロックにて排出される文字数の変更メモです。
concrete/helpers/text.phpのshortText()関数内で表示文字数が定義されているので(255文字)、
/helpers/text.php
を作って(/concrete/配下の元ファイルはそのまま)、
その中に全部そのままコピーし、
class SiteTextHelper extends TextHelper{
にして、
function shortText($textStr, $numChars=64, $tail='...') {
のように64文字にしてみたらいけました。
良かった。
参考:concrete5日本公式サイト
http://concrete5-japan.org/help/developer/basic_structure_of_concrete5/
concrete/helpers/text.phpのshortText()関数内で表示文字数が定義されているので(255文字)、
/helpers/text.php
を作って(/concrete/配下の元ファイルはそのまま)、
その中に全部そのままコピーし、
class TextHelper{
を
class SiteTextHelper extends TextHelper{
にして、
function shortText($textStr, $numChars=64, $tail='...') {
のように64文字にしてみたらいけました。
良かった。
参考:concrete5日本公式サイト
http://concrete5-japan.org/help/developer/basic_structure_of_concrete5/
2010年9月28日火曜日
サーバ移転でDBエラーに悩まされて。。
サーバ移転でDBエラーに悩みました。
結局、移転前のDBサーバに実験環境のDBが残っていたのを、
本番環境のDBだと勘違いしてインポートしていたのが原因でした。
それでテーブルが見つからない、とエラーが出て、えらく泡をくいました。
実験環境のDBは、しっかり要らなくなった時点で削除することを徹底しなくては、と肝に銘じた次第です。
結局、移転前のDBサーバに実験環境のDBが残っていたのを、
本番環境のDBだと勘違いしてインポートしていたのが原因でした。
それでテーブルが見つからない、とエラーが出て、えらく泡をくいました。
実験環境のDBは、しっかり要らなくなった時点で削除することを徹底しなくては、と肝に銘じた次第です。
2010年9月25日土曜日
cronでconcrete5をサーバ上解凍できたので,嬉しくてメモです。
concrete5を快適に動作させることができるサーバを探して、
sixcoreが良さそうと試行中です。
しかしSSHが非公開で、ファイルマネジャーに解凍コマンドもないので、
concrete5の全ファイルをアップロードするのに非常に時間がかかる。
困ってサポートに電話したら、「cronで代用できるかと思いますので御願いします」ということ。
「cron(コマンド)って、自分にはハードル高し!」と思いつつ、
FTPではタイムアウトしてしまうので挑戦していました。
で、やっとうまくいきました!!!(実際、小躍りして喜びました。(笑))
サーバ学習記録用ブログにメモしておきました。
http://learnaboutserver.blogspot.com/2010/09/cron.html
sixcoreが良さそうと試行中です。
しかしSSHが非公開で、ファイルマネジャーに解凍コマンドもないので、
concrete5の全ファイルをアップロードするのに非常に時間がかかる。
困ってサポートに電話したら、「cronで代用できるかと思いますので御願いします」ということ。
「cron(コマンド)って、自分にはハードル高し!」と思いつつ、
FTPではタイムアウトしてしまうので挑戦していました。
で、やっとうまくいきました!!!(実際、小躍りして喜びました。(笑))
サーバ学習記録用ブログにメモしておきました。
http://learnaboutserver.blogspot.com/2010/09/cron.html
2010年9月14日火曜日
UI Tabにフィード
concrete5で、jQueryのTabsをつかって、複数RSSフィードを実装しようと思い、試行錯誤したのでメモです。
普通のRSSブロックをTabsの各コンテンツ(divタグ内)にしようと思うも、自動でid,classがふられたdivが生成されてうまくいかず、まず悩みました。
そこで、HTMLブロックを使ってdivでくくってやろうとしますが、RSSフィードをうまくラップできません。
(RSSフィードブロックの上下を<div id="tabs-1">と</div>でくくってやろうとしても、勝手に閉じられてしまいます。。。 )
最後の手段として、無料のPHPブロックを導入し、そいつで無理矢理HTMLをechoで吐き出させ、
Google AJAX feed APIをつかってFeedさせたら無事表示^^
良かったっす。
(普通にフィードさせるなら、Google API+HTMLブロックで十分ですね。自分のケースでは、他にもPHPで読み込ませるものがあったので、PHPブロックが必要でした。)
あ、jQueryのUIは、基本がすでにconcrete5の中に組み込まれているので(要バージョンチェック)、
コンフリクトしないtabsのソースとcss,imagesをひっぱってきて、
それぞれ、トップディレクトリ配下のCSSとJSディレクトリ内に配置し、
「追加ヘッダー要素」でインクルードさせました。該当ページの。
この「追加ヘッダー要素」がかなり使えるしろものですが、
concrete5の編集時に現れる上のバーの「設定」の「カスタム属性」の中で「追加ヘッダー要素」を選ぶと、書き込み欄が出るので、
そこに普通のHTMLやPHPファイルに書くように、jsファイルのインクルードや、スクリプト書きができます。
あ~それにしても、Tabs+RSS Feedが実現できて幸せでした。
便利!
普通のRSSブロックをTabsの各コンテンツ(divタグ内)にしようと思うも、自動でid,classがふられたdivが生成されてうまくいかず、まず悩みました。
そこで、HTMLブロックを使ってdivでくくってやろうとしますが、RSSフィードをうまくラップできません。
(RSSフィードブロックの上下を<div id="tabs-1">と</div>でくくってやろうとしても、勝手に閉じられてしまいます。。。 )
最後の手段として、無料のPHPブロックを導入し、そいつで無理矢理HTMLをechoで吐き出させ、
Google AJAX feed APIをつかってFeedさせたら無事表示^^
良かったっす。
(普通にフィードさせるなら、Google API+HTMLブロックで十分ですね。自分のケースでは、他にもPHPで読み込ませるものがあったので、PHPブロックが必要でした。)
あ、jQueryのUIは、基本がすでにconcrete5の中に組み込まれているので(要バージョンチェック)、
コンフリクトしないtabsのソースとcss,imagesをひっぱってきて、
それぞれ、トップディレクトリ配下のCSSとJSディレクトリ内に配置し、
「追加ヘッダー要素」でインクルードさせました。該当ページの。
この「追加ヘッダー要素」がかなり使えるしろものですが、
concrete5の編集時に現れる上のバーの「設定」の「カスタム属性」の中で「追加ヘッダー要素」を選ぶと、書き込み欄が出るので、
そこに普通のHTMLやPHPファイルに書くように、jsファイルのインクルードや、スクリプト書きができます。
あ~それにしても、Tabs+RSS Feedが実現できて幸せでした。
便利!
2010年8月11日水曜日
title表示の変更方法
http://concrete5-japan.org/help/new_help_pages/how_to_customize_page_title/
こちらに、title表示の変更方法が書かれていてありがたいのですが、
なぜかこれを変更しても反映されず、しばし悩みました。
はっと気づくと、テンプレートファイルのheader.phpに、<title>などとべた書きしていたではありませんか。。。
あほでした(笑)
解決して良かったのですが。
こちらに、title表示の変更方法が書かれていてありがたいのですが、
なぜかこれを変更しても反映されず、しばし悩みました。
はっと気づくと、テンプレートファイルのheader.phpに、<title>などとべた書きしていたではありませんか。。。
あほでした(笑)
解決して良かったのですが。
2010年7月15日木曜日
z-indexの扱い、少し難しい。。
concrete5では、編集可能ブロック(灰色のオーバーレイ部分)をクリックすると、
すぐに編集モードに入れるのがウリです。
が、その機能がz-indexによって実現されているようで、
記事内容にz-indexを指定してしまうと、
ブロックがクリッカブルにならなくなってしまう、という現象に悩まされました。
IE6でz-indexによる表示エラーも発生したりして、
z-indexはやや鬼門かな、と少し考え中な自分です。
すぐに編集モードに入れるのがウリです。
が、その機能がz-indexによって実現されているようで、
記事内容にz-indexを指定してしまうと、
ブロックがクリッカブルにならなくなってしまう、という現象に悩まされました。
IE6でz-indexによる表示エラーも発生したりして、
z-indexはやや鬼門かな、と少し考え中な自分です。
個別ページの独自CSS設定方法メモ
個別ページに、独自のcssを適用したい、と思い、ちょっと試行錯誤したのでメモです。
concrete5をいんすとーるしたディレクトリ内に、cssというディレクトリがあるので、
そこにcssファイルを置けばOKでした。
そして、
<link href="/css/sub.css" rel="stylesheet" />みたいなコードを、「追加ヘッダー要素」に書いてやればOK。
(cssの前に/が必要でした。これがなくて、反映がされずしばし悩みました。)
また、backgroundで背景画像を使う場合は、そのcssディレクトリ内に、imagesのようなディレクトリをつくってやり、
その中にアップして、
background:url(images/pic.jpg);
みたいに指定してやればOKでした。
themeディレクトリ内でないことに注意です。
concrete5をいんすとーるしたディレクトリ内に、cssというディレクトリがあるので、
そこにcssファイルを置けばOKでした。
そして、
<link href="/css/sub.css" rel="stylesheet" />みたいなコードを、「追加ヘッダー要素」に書いてやればOK。
(cssの前に/が必要でした。これがなくて、反映がされずしばし悩みました。)
また、backgroundで背景画像を使う場合は、そのcssディレクトリ内に、imagesのようなディレクトリをつくってやり、
その中にアップして、
background:url(images/pic.jpg);
みたいに指定してやればOKでした。
themeディレクトリ内でないことに注意です。
2010年7月13日火曜日
レイアウト機能ではまった
5.4.0.5から搭載されたレイアウト機能ですが、はまりました。
IE6でまともに表示されなくて,数時間弱りました。
(あるはずのブロックがまるまる表示されない状態でした。)
問題は、2カラムレイアウトをつくって、
その下に1カラムのレイアウトブロックを移動で持ってきたことが原因だった様子。
divの入れ子が閉じられてなかったのかな。。
で、2カラムの後に、再び「新規レイアウト」ということで、
1カラムレイアウトをつくって、
そこに普通にまたブロックをつくったらOKでした。
複数カラムレイアウトにして,再び1カラムのレイアウトに戻すときは、
新規レイアウトで「1列」とするのが無難のようです。
同様にはまる方もおられるかもしれないので、メモしました。
IE6でまともに表示されなくて,数時間弱りました。
(あるはずのブロックがまるまる表示されない状態でした。)
問題は、2カラムレイアウトをつくって、
その下に1カラムのレイアウトブロックを移動で持ってきたことが原因だった様子。
divの入れ子が閉じられてなかったのかな。。
で、2カラムの後に、再び「新規レイアウト」ということで、
1カラムレイアウトをつくって、
そこに普通にまたブロックをつくったらOKでした。
複数カラムレイアウトにして,再び1カラムのレイアウトに戻すときは、
新規レイアウトで「1列」とするのが無難のようです。
同様にはまる方もおられるかもしれないので、メモしました。
2010年6月22日火曜日
header.php内でのjQueryライブラリの読み込み
concrete5にjQueryライブラリの読み込みや、コードの記述をheader.php内でするときのメモです。
例えば、corner.jsをインクルードするときは、以下のような感じ。
これで、同一テーマ内の前ページで、該当id全てにcorner()を適用できる。
便利だ。
例えば、corner.jsをインクルードするときは、以下のような感じ。
<script type="text/javascript" src="<?php echo $this->getThemePath(). '/js/corner.js'?>"></script> <script type="text/javascript"> $(function(){ $('#left_sidebar').corner(); $('#right_sidebar').corner(); }); </script>
これで、同一テーマ内の前ページで、該当id全てにcorner()を適用できる。
便利だ。
RSSブロックについてのメモ
RSSフィードで画像を表示させたいので、とりあえず本家フォーラム・日本公式サイトの関連記事などをメモ。
カスタムテンプレートについての記事
http://www.concrete5.org/documentation/general-topics/custom-templates/
ブロックの見栄えカスタマイズの記事
http://www.concrete5.org/documentation/how-tos/customize-a-block-s-appearance/
RSSブロックのヘルパーに関する記事
http://www.concrete5.org/documentation/developers/helpers/rss-feeds/
SimplePieというRSSフィードのコアになっているライブラリのwiki.(これが使われてたんですね。。勉強になった。)
http://simplepie.org/wiki/
で、SimplePieのimageをゲットする関数に関する記事メモ。
http://simplepie.org/wiki/reference/simplepie/get_image_url
サムネイルは、以下のように取得するらしい。
http://simplepie.org/wiki/reference/simplepie_enclosure/get_thumbnail
カスタムテンプレートについての記事
http://www.concrete5.org/documentation/general-topics/custom-templates/
ブロックの見栄えカスタマイズの記事
http://www.concrete5.org/documentation/how-tos/customize-a-block-s-appearance/
RSSブロックのヘルパーに関する記事
http://www.concrete5.org/documentation/developers/helpers/rss-feeds/
SimplePieというRSSフィードのコアになっているライブラリのwiki.(これが使われてたんですね。。勉強になった。)
http://simplepie.org/wiki/
で、SimplePieのimageをゲットする関数に関する記事メモ。
http://simplepie.org/wiki/reference/simplepie/get_image_url
サムネイルは、以下のように取得するらしい。
http://simplepie.org/wiki/reference/simplepie_enclosure/get_thumbnail
2010年6月13日日曜日
Tinymceで行頭の全角スペースが削除されるのが困った。
やっぱり日本語環境なら、行頭の一字下げはしたいところなので、
Tinymceで全角スペースが削除されるのは痛い。
(Firefox,Chromeがダメの様子。IEは大丈夫とか。。)
まあ、半角スペースなら削除されないようなので、半角スペースでやりますか。。。。。。
しかし、面倒だ。
*****************************
■追記:tinyCMEの設定をの中に書けばよい、ということでテンプレートのheader.phpの内に書いてみた。が、反映されなかった。。
何がダメなのか。。
<script type="text/javascript" language="javascript">
tinyMCE.init({
preformatted : true,
});
</script>
参照したのはTinyMCEの本家wiki。
http://wiki.moxiecode.com/index.php/TinyMCE:Configuration/preformatted
Tinymceで全角スペースが削除されるのは痛い。
(Firefox,Chromeがダメの様子。IEは大丈夫とか。。)
まあ、半角スペースなら削除されないようなので、半角スペースでやりますか。。。。。。
しかし、面倒だ。
*****************************
■追記:tinyCMEの設定をの中に書けばよい、ということでテンプレートのheader.phpの内に書いてみた。が、反映されなかった。。
何がダメなのか。。
<script type="text/javascript" language="javascript">
tinyMCE.init({
preformatted : true,
});
</script>
参照したのはTinyMCEの本家wiki。
http://wiki.moxiecode.com/index.php/TinyMCE:Configuration/preformatted
2010年6月7日月曜日
テーブル名メモ(コンテンツが記入されているテーブル)
btContentLocal
が実際に内容が書かれているテーブル。
CollectionVersions
がバージョンでの変化を保存したテーブル?
PageSearchIndex
が、検索用インデックステーブル。
が実際に内容が書かれているテーブル。
CollectionVersions
がバージョンでの変化を保存したテーブル?
PageSearchIndex
が、検索用インデックステーブル。
2010年6月3日木曜日
concrete5のライブデモの作り方ページ(リンク)
http://www.concrete5.org/documentation/how-tos/create-your-own-concrete5-demo/
ライブデモのやり方が本家ドキュメントに書いてあった。
前からやってみたいと思っていたので、実行しようと思います。
■追記:こっそり環境を作ってみました(そのうち勝手に閉じるかもしれません。ID:demo,Pass:demoでログイン可能です)。
crontabの書き方が最初わからなかったのですが、crontab -eとSSHで入力し、viにての直接編集でアンドリュー氏が書いている通り(もちろん、スクリプトファイル名は変更済み)に書いたら、自動削除がうまくいってくれていました。
良かった。
■追記2:久しぶりに見てみたら、ライブデモ,うまくいってませんでしたorz 恥ずかしい。っていうか、今借りているサーバのcronjob記入に制限があるので、ちょっと無理っぽいです。時々手動で消すか。。
ライブデモのやり方が本家ドキュメントに書いてあった。
前からやってみたいと思っていたので、実行しようと思います。
■追記:こっそり環境を作ってみました(そのうち勝手に閉じるかもしれません。ID:demo,Pass:demoでログイン可能です)。
crontabの書き方が最初わからなかったのですが、crontab -eとSSHで入力し、viにての直接編集でアンドリュー氏が書いている通り(もちろん、スクリプトファイル名は変更済み)に書いたら、自動削除がうまくいってくれていました。
良かった。
■追記2:久しぶりに見てみたら、ライブデモ,うまくいってませんでしたorz 恥ずかしい。っていうか、今借りているサーバのcronjob記入に制限があるので、ちょっと無理っぽいです。時々手動で消すか。。
2010年5月29日土曜日
上級権限モード解説ページへのリンクメモ。
concrete5で、あるページの編集権限などを細かく設定し分けるための「上級権限モード」についての解説ページが、日本公式サイトにあります。
http://concrete5-japan.org/help/new_help_pages/advanced_permission/
良く勉強する必要があるので、リンクメモをはっておきます。
http://concrete5-japan.org/help/new_help_pages/advanced_permission/
良く勉強する必要があるので、リンクメモをはっておきます。
シングルページの変更方法
エラー表示ページなどの「シングルページ」を変更したい場合の方法が、
concrete5日本公式サイトに書かれています。
実装の必要があるので、リンクメモをしておきます。
http://concrete5-japan.org/help/design/customize-single-pages/
ありがたや。。
concrete5日本公式サイトに書かれています。
実装の必要があるので、リンクメモをしておきます。
http://concrete5-japan.org/help/design/customize-single-pages/
ありがたや。。
アップロードファイルをファイルマネージャーで。
concrete5で、FTPにてアップロードしたファイルをファイルマネージャーで管理するには、
/files/incoming/
というディレクトリ(フォルダ)をつくって、
書き込み権限を与えるといいのですね。
http://concrete5-japan.org/community/forums/chat/post-607/
に詳細が書かれています。
便利。
/files/incoming/
というディレクトリ(フォルダ)をつくって、
書き込み権限を与えるといいのですね。
http://concrete5-japan.org/community/forums/chat/post-607/
に詳細が書かれています。
便利。
concrete5のレスポンスアップ
concrete5の管理画面トップに、過去数日の閲覧件数がflashで表示されていますが、
この表示を切ると、レスポンスが早くなり幸せになれます。
concrete5日本のフォーラムにやり方が書いてあります。
http://concrete5-japan.org/community/forums/chat/post-461/
要約すると、
1、/config/site.phpの中に
define('STATISTICS_TRACK_PAGE_VIEWS', false);
を追加して、新しく定数を定義。
2、
/concrete/elements/dashboard/modules/reports.php
を、トップディレクトリにある
/elements/ディレクトリ配下に、
dashborad/modules/reports.php
というように、階層的にディレクトリをつくって、最後にreports.phpファイルを作り、
中身に、
といったように、不正アクセスブロックコードと、必要があればメッセージを記入して、保存。
3、そしてMySQL内の「PageStatistics」というテーブルをバックアップし、必要なければ削除。
でOKです。
お決まりですが、 適用は自己責任で。
やってみたら、体感できるぐらいスピードアップしてくれて、幸せです。
この表示を切ると、レスポンスが早くなり幸せになれます。
concrete5日本のフォーラムにやり方が書いてあります。
http://concrete5-japan.org/community/forums/chat/post-461/
要約すると、
1、/config/site.phpの中に
define('STATISTICS_TRACK_PAGE_VIEWS', false);
を追加して、新しく定数を定義。
2、
/concrete/elements/dashboard/modules/reports.php
を、トップディレクトリにある
/elements/ディレクトリ配下に、
dashborad/modules/reports.php
というように、階層的にディレクトリをつくって、最後にreports.phpファイルを作り、
中身に、
<?php defined('C5_EXECUTE') or die(_("Access Denied.")); ?> <div id="dashboard-reports" style="width:330px;height:280px;"> <p>アクセス解析を中止</p></div>
といったように、不正アクセスブロックコードと、必要があればメッセージを記入して、保存。
3、そしてMySQL内の「PageStatistics」というテーブルをバックアップし、必要なければ削除。
でOKです。
お決まりですが、 適用は自己責任で。
やってみたら、体感できるぐらいスピードアップしてくれて、幸せです。
2010年5月10日月曜日
concrete5上に同一サーバ内別DBデータ表示を表示。(覚え書き)
concrete5上に、同一サーバ内の別DBからデータをselectして表示させる必要があり、色々試行錯誤が必要だったのでメモです。
1、まず、無料のPHPブロックを使って、普通にMySQL関数で外部DBを読み込ませるとすぐOKになり、一見完璧だったのですが、ページのリロードなどをすると、ADOdbに関するエラーが出て、アウトでした。
2、そこで、本家ドキュメントを見に行き、
http://www.concrete5.org/documentation/developers/system/database-connectivity
にADOdbを使って他のDBにアクセスする方法の概要が出ていたので、コードの変更を行うことにしました。
$db = Loader::db( 'newserver', 'newuser', 'newpassword', 'newdatabase', true);
という感じで、外部DBにアクセス。
$rows=$db->Execute('select * from TestTable');
で実行&格納。
3、http://adodb.sourceforge.net/
にADODBの記述法が書いてあったので、参考にしながら色々やってみました。
途中、whileの書き方が良くなかったらしく、無限ループに入ってまいりました。。
PHPブロックのデータが入ったbtNdPhpBlockContentというテーブルに、記述したコードがあったので、そちらを削除して回避しました。。
4、最終的に以下のような感じで、目的のデータを表示できました。
foreach ($rows as $row) {
printf("<p>■「%s」(%s):%s</p> ",$row['title'],$row['date'],$row['content']);
}
5、以下のコードを挿入すると元のDBにアクセスし直す、ということだったので、挿入。(これを入れないと、自分の経験ではループに入ってしまう感じです。。)
// return to the original db session
$db = Loader::db(null, null, null, null, true);
これでlocalサーバ内の別DBからのデータもconcrete5上で表示させることができ、エラーも出なくなって、目的が達成されました。
1、まず、無料のPHPブロックを使って、普通にMySQL関数で外部DBを読み込ませるとすぐOKになり、一見完璧だったのですが、ページのリロードなどをすると、ADOdbに関するエラーが出て、アウトでした。
2、そこで、本家ドキュメントを見に行き、
http://www.concrete5.org/documentation/developers/system/database-connectivity
にADOdbを使って他のDBにアクセスする方法の概要が出ていたので、コードの変更を行うことにしました。
$db = Loader::db( 'newserver', 'newuser', 'newpassword', 'newdatabase', true);
という感じで、外部DBにアクセス。
$rows=$db->Execute('select * from TestTable');
で実行&格納。
3、http://adodb.sourceforge.net/
にADODBの記述法が書いてあったので、参考にしながら色々やってみました。
途中、whileの書き方が良くなかったらしく、無限ループに入ってまいりました。。
PHPブロックのデータが入ったbtNdPhpBlockContentというテーブルに、記述したコードがあったので、そちらを削除して回避しました。。
4、最終的に以下のような感じで、目的のデータを表示できました。
foreach ($rows as $row) {
printf("<p>■「%s」(%s):%s</p> ",$row['title'],$row['date'],$row['content']);
}
5、以下のコードを挿入すると元のDBにアクセスし直す、ということだったので、挿入。(これを入れないと、自分の経験ではループに入ってしまう感じです。。)
// return to the original db session
$db = Loader::db(null, null, null, null, true);
これでlocalサーバ内の別DBからのデータもconcrete5上で表示させることができ、エラーも出なくなって、目的が達成されました。
2010年4月30日金曜日
jQueryライブラリの読み込ませる順番でミスした。
header.phpの中で、べた書きでjsをインクルードさせたら、
アクティブになってくれず、しばし悩みました。。
おかしいと思ったら、
<?php Loader::element('header_required'); ?>
の前に記述していたのが原因でした。
というのも、jQueryの本体を読み込む前に、ライブラリを読み込ませていた、と。
大ボケ。
<?php Loader::element('header_required'); ?>
の後に記述し直したら、無事jsが機能してくれました。
良かった。
アクティブになってくれず、しばし悩みました。。
おかしいと思ったら、
<?php Loader::element('header_required'); ?>
の前に記述していたのが原因でした。
というのも、jQueryの本体を読み込む前に、ライブラリを読み込ませていた、と。
大ボケ。
<?php Loader::element('header_required'); ?>
の後に記述し直したら、無事jsが機能してくれました。
良かった。
jsファイルのインクルード
concrete5で、jsファイルをインクルードするには、
トップディレクトリ配下の「js」ディレクトリ内にjsファイルをアップロードし、
該当ページで、「設定」⇒「カスタム属性」⇒「追加ヘッダー要素」欄に、以下のように普通にscriptタグでインクルードさせたらOKでした。
テンプレート全体でインクルードするなら、
(ファイルやディレクトリ名の前に/が必要です。忘れたら、エラーが出て焦りました。。)
もっといい方法があるかな。。
トップディレクトリ配下の「js」ディレクトリ内にjsファイルをアップロードし、
該当ページで、「設定」⇒「カスタム属性」⇒「追加ヘッダー要素」欄に、以下のように普通にscriptタグでインクルードさせたらOKでした。
<script type="text/javascript" src="/js/fontsize.js"></script> <script type="text/javascript" src="/js/cookie.js"></script>(補足:パスの"/js/cookie.js"などの最初の"/"を抜かしてこれまで書いていました。もし参考にして,インクルードがうまくいかなかった方がおられればすみません!)
テンプレート全体でインクルードするなら、
<?php echo $this->getThemePath().'/js/fontsize.js'; ?>といったように、テーマのheader.phpでインクルードするのが良いかな、と。
(ファイルやディレクトリ名の前に/が必要です。忘れたら、エラーが出て焦りました。。)
もっといい方法があるかな。。
imgをテンプレート内から参照する方法メモ
<img src="<?php echo $this->getThemePath().'/images/image.gif'; ?>" />
といったように囲むと吉。
$this->getThemePath().がミソですね。
これ、スタイルシートのインクルードにも使えます。
要するに、テーマのパスを取得して返してくれる、という便利なおまじないです。
といったように囲むと吉。
$this->getThemePath().がミソですね。
これ、スタイルシートのインクルードにも使えます。
要するに、テーマのパスを取得して返してくれる、という便利なおまじないです。
2010年3月22日月曜日
カレンダーブロック
山野井研究室さんが、素晴らしいカレンダーブロックを制作・配布されています。
http://www.yamanoi.org/concrete5/download/calendarnavi/
しかも無料です。
ブロックの勉強にもなります。
すばらしや。
http://www.yamanoi.org/concrete5/download/calendarnavi/
しかも無料です。
ブロックの勉強にもなります。
すばらしや。
2010年3月20日土曜日
「wordから貼り付け」は思ったより使えた
Tiny MCEの機能で「wordから貼り付け」というボタンがありますが、
ずっと避けていました。
「どうせあまり使えないだろう」と。
しかし、それは間違いでした。
クライアントさんから渡されたwordファイル文章をペーストしたら、
けっこうきれいなコードでした。
すこしHTML表示モードで整形したら、十分使えました。
作業時間が短縮されました。
TinyMCE殿、御見それしました。
ずっと避けていました。
「どうせあまり使えないだろう」と。
しかし、それは間違いでした。
クライアントさんから渡されたwordファイル文章をペーストしたら、
けっこうきれいなコードでした。
すこしHTML表示モードで整形したら、十分使えました。
作業時間が短縮されました。
TinyMCE殿、御見それしました。
ログアウトすると、表示は早い。
最近、ずっとログインしたままでサイトを見ていたので、
「表示が遅いなあ!!」と思っていました。
しかし、ログアウトしてみてサイトを見てみたら、とても速くて驚きました(笑)。
編集時のリクエストがとても多いので(JSやPNGや)、
それらをキャッシュできればかなり改善されるのでは、と思って、
試行錯誤を開始したいと思っています。。
「表示が遅いなあ!!」と思っていました。
しかし、ログアウトしてみてサイトを見てみたら、とても速くて驚きました(笑)。
編集時のリクエストがとても多いので(JSやPNGや)、
それらをキャッシュできればかなり改善されるのでは、と思って、
試行錯誤を開始したいと思っています。。
2010年3月18日木曜日
cssのレスポンスアップ
header.phpのcssへのリンクを以下のようにすると、レスポンスが上がることを教えていただきました。
実際、改善されました。
ただ、これを実行すると、管理画面で文字色などのCSSをカスタマイズしても反映されなくなります。
外部CSSだけで調整している場合は、問題ないかと思いますが、念のため。
実際、改善されました。
ただ、これを実行すると、管理画面で文字色などのCSSをカスタマイズしても反映されなくなります。
外部CSSだけで調整している場合は、問題ないかと思いますが、念のため。
<link rel="stylesheet" media="screen" type="text/css" href="<?php echo $this->getThemePath().'/main.css'?>" /> <link rel="stylesheet" media="screen" type="text/css" href="<?php echo $this->getThemePath().'/typography.css'?>" />
2010年2月26日金曜日
typography.cssについて(タグに直接指定。。)
typography.cssに、concrete5ではフォント関連のcssを書くことになっています。
デフォルトテーマのソースを見てみると、h1やh2等のHTML要素(タグ)に直接指定する書き方になっていて、「idやclassには指定できないのかな?」と疑問でした。
やってみると、ちゃんと反映されましたが、リッチエディタ(Tiny_mce)上で編集している間は、idの指定は反映されないと判明。
class指定はOKでした。
リッチエディタが立ち上がっている間はIDから独立した状態なので反映されないようですね。
デフォルトテーマのソースを見てみると、h1やh2等のHTML要素(タグ)に直接指定する書き方になっていて、「idやclassには指定できないのかな?」と疑問でした。
やってみると、ちゃんと反映されましたが、リッチエディタ(Tiny_mce)上で編集している間は、idの指定は反映されないと判明。
class指定はOKでした。
リッチエディタが立ち上がっている間はIDから独立した状態なので反映されないようですね。
2010年2月18日木曜日
header右上のトップ階層表示は、#headerNav(デフォテーマ)
プレーンヨーグルトのヘッダー右上に表示されている、トップ階層ページの表示は、
#page #header #headerNav
で指定されていました。
position:absoluteだったので、
#page #header{ position:relative; }
がrelative指定されていて、それに対しての配置ということで。
#page #header #headerNav
で指定されていました。
position:absoluteだったので、
#page #header{ position:relative; }
がrelative指定されていて、それに対しての配置ということで。
ul,liのmargin,paddingを0にすると、サイトマップ(オートナビ)の表示が崩れた。
デフォルトテーマのmain.css最初の
/* HTML Tag Redefinition */内で
ul,li{margin:0px;padding:0px;}を指定したら、
オートナビの階層表示が崩れたので止めに。
各idやclass内での指定に変更しました。
/* HTML Tag Redefinition */内で
ul,li{margin:0px;padding:0px;}を指定したら、
オートナビの階層表示が崩れたので止めに。
各idやclass内での指定に変更しました。
defaultテーマのカスタマイズメモ開始。
concrete5のdefaultテーマ「プレーンヨーグルト」のカスタマイズメモを書いていきます。
いろいろいじっていて、いろいろ躓いたりしたので備忘録も兼ねて。
いろいろいじっていて、いろいろ躓いたりしたので備忘録も兼ねて。
2010年2月16日火曜日
concrete5ページリストブロックの文字サイズ等変更メモ
ページリストブロックのタイトルとdescriptionに関しては、
typography.cssで例えば以下の用に設定すると文字サイズやline-heightなどを設定できました。
h3.ccm-page-list-title{font-size:12px;line-height:12px;}
.ccm-page-list-description{font-size:10px;line-height:10px;}
typography.cssで例えば以下の用に設定すると文字サイズやline-heightなどを設定できました。
h3.ccm-page-list-title{font-size:12px;line-height:12px;}
.ccm-page-list-description{font-size:10px;line-height:10px;}
同一ページタイプの一括編集メモ。
concrete5で同じページタイプを一括でデザイン変更する場合には、
管理画面から「ページとテーマ」を選択し、
「ページタイプ」のタブを選択して、
各ページタイプの「デフォルト」というボタンを押して編集します。
そうすると、各ページタイプのデフォルト(初期)デザインが変更されます。
そうして、変更を加えたブロックの上でクリックし「子ページの設定」を選択すると、
その変更を適用したい同一ページタイプの子ページが全て表示されるので、
そこで選択します。
すると、一括で同一ページタイプのページデザインが変更できて便利です。
管理画面から「ページとテーマ」を選択し、
「ページタイプ」のタブを選択して、
各ページタイプの「デフォルト」というボタンを押して編集します。
そうすると、各ページタイプのデフォルト(初期)デザインが変更されます。
そうして、変更を加えたブロックの上でクリックし「子ページの設定」を選択すると、
その変更を適用したい同一ページタイプの子ページが全て表示されるので、
そこで選択します。
すると、一括で同一ページタイプのページデザインが変更できて便利です。
2010年1月13日水曜日
素のHTML要素にスタイルを指定することは避けた方が無難ですね。
本家バグフォーラムよりの情報です。
新規ページを作る際、ページタイプのアイコンがスクロールできない領域に隠れてしまうバグが報告されていましたが、
原因は
要素にCSSで
やはり、スタイルを根本的な要素にかぶせるのはいろいろ問題を引き起こしそうですね。
(元情報は以下から。
http://www.concrete5.org/community/bugs/page-icon-scroller-bug/)
新規ページを作る際、ページタイプのアイコンがスクロールできない領域に隠れてしまうバグが報告されていましたが、
原因は
li {
margin-left: 1.5em;
line-height: 1.5em;
}
といったように指定してしまっていたことだそうです。margin-left: 1.5em;
line-height: 1.5em;
}
やはり、スタイルを根本的な要素にかぶせるのはいろいろ問題を引き起こしそうですね。
(元情報は以下から。
http://www.concrete5.org/community/bugs/page-icon-scroller-bug/)
2010年1月9日土曜日
concrete5テーマ変換の神サイト
http://c5.tktools.jp/
c5.tktools.jpというサイトがありますが、このサイト、concrete5のテーマ変換の神サイトです。
フリーのCSSテンプレートから変換しておられますが、数が半端ない。
126のテーマを一括でインストールできるパッケージも配布されています。。
http://c5.tktools.jp/index.php/themegallery/leavesdew/
今日は拝見していて、上記テーマが気に入りました。(自分用のメモも兼ねて。。)
それにしても、色々あって選び難いぐらいです。
ちなみに、concrete5用にHTML+CSSを変換する方法は以下に詳しく説明されています。
concrete5を日本で公式にローカライズしているUsagi Projectに自分も参加させていただいていますが、英語がある程度できるので骨子を訳させていただきました。
http://concrete5-japan.org/help/design/step_by_step
c5.tktools.jpというサイトがありますが、このサイト、concrete5のテーマ変換の神サイトです。
フリーのCSSテンプレートから変換しておられますが、数が半端ない。
126のテーマを一括でインストールできるパッケージも配布されています。。
http://c5.tktools.jp/index.php/themegallery/leavesdew/
今日は拝見していて、上記テーマが気に入りました。(自分用のメモも兼ねて。。)
それにしても、色々あって選び難いぐらいです。
ちなみに、concrete5用にHTML+CSSを変換する方法は以下に詳しく説明されています。
concrete5を日本で公式にローカライズしているUsagi Projectに自分も参加させていただいていますが、英語がある程度できるので骨子を訳させていただきました。
http://concrete5-japan.org/help/design/step_by_step
登録:
投稿 (Atom)