2012
03.14

さくらサーバーに和田さんとこのメールフォームCGIを設置する場合、”mailform”ディレクトリのパーミッションは755だよ!
取説に従って777にすると500エラーになるよ!どどーん!

2010
08.04
Administration menu
Content Construction Kit (CCK)
 → ja.po
Views
 → ja.po
Devel
FileField
ImageAPI
ImageCache
ImageField
Pathauto
 → ja.po
Taxonomy Breadcrumb
 → ja.po
Token
 → ja.po
Formfilter
Calendar
Date
Custom Breadcrumbs
 → ja.po
Masquerade
※ユーザーを瞬時に切り替えられて瞬時に元に戻せる!
Suggested Terms
※フリータギング機能を利用したタグの入力フォームに現在登録されているカテゴリ(ターム)の一覧を表示する
 → ja.po
ImageField Tokens
※イメージフィールドでアップする画像のalt要素にノードトークンが使えるようになる
FileField Paths
※FileFieldでアップしたファイルのパスなどにノードトークンが使えるようになる。
2010
07.26

Drupalは、Wordpressなどと比べてシンプルな投稿画面で、クライアントのリテラシーが低い場合も安心なのですが、保存ボタンの上に「入力書式」や「リビジョン情報」など、更新担当者にとって不要なことが多いんではないでしょか?っていうようなオプションも問答無用に表示されます。これらが不要な場合に非表示に出来ないかなあなどとと思っていたら、いいモジュールを発見。

Formfilter」は、不要なオプションを個別に非表示にできるモジュールです。

有効にすると、投稿画面をはじめとした各ページの一番下に「Filter this form」というリンクが表示されます。
これをクリックすると各種フォーム要素の下に「Hide hoge:」というようなチェックボックスが表示され、チェックしたフォーム要素がadmin権限以外のユーザーに表示されなくなります。

ちなみに、submit要素には対応していないので、「Upload」モジュールなどのsubmitボタンは非表示にできず残ってしまいます。

「formfilter.module」の8行目

return array('button', 'fieldset', 'select', 'textfield', 'checkbox', 'checkboxes', 'radio', 'radios', 'textarea', 'item', 'file', 'weight', 'markup')

に、’submit’を追加すると、とりあえず非表示にできました。

2010
06.14

DrupalはCMSとしてかなりイイです。ただ、ブログをやるならやっぱりWordPressがイイ!
Drupalでは携帯からの写真付きメール投稿などひと苦労です。というかお手上げです。

そこで、CMSはDrupal(とか他のシステム)でブログだけWordPressでやるのが手っ取り早いんじゃないでしょか。

サブドメインなどにWordPressをインストールし、ページ機能を使ってxmlを作りましょう。
そのxmlをDrupal側で取得して、トップページなどに表示します。

WordPress側「page_xml.php」

<?php header('Content-Type: text/xml; charset='.get_option('blog_charset'), true); ?>
<?php /*
Template Name: page_xml
*/ ?>
<?php echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
<posts>
<?php
$blogposts = get_posts('numberposts=5');
foreach($blogposts as $post) :
	setup_postdata($post);
?>
<post>
<blog_title><![CDATA[<?php the_title(); ?>]]></blog_title>
<blog_link><![CDATA[<?php echo get_permalink (); ?>]]></blog_link>
<blog_data><![CDATA[<?php the_date(); ?>]]></blog_data>
<blog_content><![CDATA[<?php the_content(); ?>]]></blog_content>
</post>
<?php endforeach; ?>
</posts>

適当なページを作り、上記テンプレートを適用します。

Drupal側 テンプレート

<h2 class="blog">ブログ</h2>
<dl>
<?php
$xml = simplexml_load_file('WPのxml生成用ページのURL', 'SimpleXMLElement', LIBXML_NOCDATA);
foreach($xml as $wp_post) :
?>
<dt class="date"><?php print $wp_post->blog_data; ?></dt>
<dd class="title"><a href="<?php print wp_post->blog_link; ?>" title="<?php print $wp_post->blog_title; ?>"><?php print $wp_post->blog_title; ?></a></dd>
<?php endforeach; ?>
</dl>

みたいな?

欠点はWPのテーマも作らないといけないのでめんどくさいこと。

2010
06.07

CCKのフィールド作成画面で、
全般の設定 > 使用する値 > PHPコード の欄に以下のように記述する(「コンテンツタイプ」の部分は任意のコンテンツタイプ名に置き換える)
この例ではノードタイトルを使っていますが、SQL文を書き換えれば別のフィールドなども使えます。
SQLがいまいちよく分かってない私のような人は、Viewsでビューを作ってみるふりをして、生成されるSQL文をさらっとパクりましょう参考にして勉強しましょう。

$sql =
"SELECT node.nid AS nid,
   node.title AS node_title
 FROM node node
 WHERE node.type in ('コンテンツタイプ')";
$result = db_query($sql);
$titles = array();
while ($node = db_fetch_array($result)) {
$titles[] = $node[node_title];
}
return $titles;
2010
06.01
upload_max_filesize = 10M
post_max_size = 128M

とか〜

post_max_size >= upload_max_filesize
になってないとダメです。

2010
05.26

下記コードの■■■■■のところを自分のTwitterIDに、count=5のところを表示させたい数に変える。

<ul id="twitter_update_list"></ul>
<script type="text/javascript" src="http://twitter.com/javascripts/blogger.js"></script>
<script type="text/javascript" src="http://twitter.com/statuses/user_timeline/■■■■■.json?callback=twitterCallback2&amp;count=5"></script>
2010
05.06

以下の引数にnidをほりこめばノードオブジェクトが取得出来る。

node_load()

しかしDrupalは日本語の情報が少なくてWordPressの時のようにはいかない。
なんとかならんかなあ。
外人はいいなあ。英語読めて。

[追記 2010.06.07]

node_load($nid);

で取得したオブジェクトを表示する場合は以下のようにします。

$node_obj = node_load($nid);
print node_view($node_obj);
2010
05.02

1.アプリケーション→ユーティティ→ターミナル.appを開く
2. ” defaults write com.apple.finder AppleShowAllFiles TRUE ” と打つ
3.ファインダーを再起動(ターミナルで ” killall Finder ” )

元に戻したい場合はターミナルで
” defaults write com.apple.finder AppleShowAllFiles FALSE ”

2010
04.06

あらかじめindex.htmlなどのURLでトップ用のページを作っておき、

管理セクション→サイトの環境設定→サイト情報
デフォルトのフロントページ:index.html

とする。