2010年9月29日水曜日

RSSの文字数変更

concrete5でRSSブロックにて排出される文字数の変更メモです。

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は、しっかり要らなくなった時点で削除することを徹底しなくては、と肝に銘じた次第です。

2010年9月25日土曜日

cronでconcrete5をサーバ上解凍できたので,嬉しくてメモです。

concrete5を快適に動作させることができるサーバを探して、
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が実現できて幸せでした。
便利!