2009年1月17日土曜日

6.9に移行開始

sakuraでの5.7からsppdでの6.9へと移行開始。

(1)6.9のインストール。
  日本語も同梱されており、sakuraのようにphp.iniのおまじないも不要で、インストールはあっけなく終了。しかしここで失敗が。tableのprefixを「新しく」設定してしまっていたのだった。

(2)5,7、6.9共に「backup and migrate」モジュールを導入。
  5.7のほうではDBの中身を吐き出し。(7MBほど)。6.9のほうではそれを取り込み。

(3)(1)の失敗により、drupalが二重にできてしまった。orz。
  仕方が無いので、MySQLで直接、「新しい」ほうのprefix付テーブルを削除。
  6.9も削除して今度は「古い」prefixを指定して再インストール。
  update.phpを実行して終了。

(4)画像ファイルなども移行して動かしてみると、どうもおかしい。
  サブメニュー毎のテンプレートが機能していない。
  ・・・で、このブログを読み返してみると、そういえば「URLalias」にもとづいたテンプレートを使うには、template.phpをいじる必要があるのであった。

(5)template.php
  「Different page templates depending on URL aliases」の記事を読み返してみると、5.xと6.xでは書換方法が全く違う。ふむふむ・・・と6.x用のsnippetをコピーしてみたところ、画面が全く表示されなくなってしまった。なんで!?
  ・・・6.xは、6.7以降とそれ以前で微妙に仕様が違うようなので、記事のsnippetが6.9には無力なのか??しかし自分で調べてコードを書くような力は無いぞ!
  それともpage-xxxx.tpl.phpの記述方法を6.xでは変更しないといけないのか!?
  ・・・・などと、悩みに悩んだ約2時間。
  ところが、コードを切り刻んでここが悪いのかあれが悪いのかとやっているうちに、 コードをほとんど削り取ってもやっぱり画面表示しないことが判明。
  あと残っている部分は、<?php ?> と関数名くらいしかないではないか。
  ん?ちょっと待て!! phpのファイルに ?php とは???

(6)そう。あまりの間抜けに茫然自失。snippetを「そのまんま」貼り付けてどうする・・・・
    ただ、細かい課題(というかソースレベルでの未移行点)はまだあるのだが、それはまた明日・・・

2008年12月6日土曜日

HTML出力関数のオーバーライド

サイト内検索を行うと、検索結果とあわせてページの作成情報(作者とか日時とか)が
表示されてしまうので、これを消そうと思い立った。

画面をソース表示すると、search-infoというclassで表示している。
grepで該当箇所を探すと、modules/search/search.moduleの中で使われている。
cat-nで調べると、1247行目。
1247行目を含む関数は、theme_search_item()と判明。
これをオーバーライドすべく、template.phpの中にphptemplate_serach_itemを定義。
この中で、余計な出力をカット。
・・・良し。めでたしめでたし。

しかし何でもできるぞdrupal。

2008年11月29日土曜日

スタジオマップ(SPPD)でMySQL5.0が使える

つい先日、SPPDはじめ主だったホスティング先のMySQLのバージョンが
4.0.xなので、drupalの6.xが使えない・・・と書いたばかりだったが

SPPDからメールが来ていて、費用は現状のまま(月額千円)、

ディスク容量300MB→3GB
月額210円でMySQL 4.0.x→無料でMySQL5.0

などなど大幅にサービスレベルを上げたらしい。
素晴らしいぞSPPD。

サイト制作手順の整理

1:まずは当たり前のこととしてページ構成とかページ内容の要件定義。
  ユーザのこだわりの部分とか、既存サイトからそのまま引っ越したい
  ページなどは充分にチェック要。

2:全体のページ構成(階層)図=taxonomy定義=URLエイリアス定義

3:レイアウトが1つで済めばそれに越したことはないが、普通はそうはいかない
  はずなので、2と合わせて、各ページが対応するレイアウト種別も決める。

4:今回は、
  a)トップページで1つ page-front.tpl.php
  b)7つの分野ごとに1つ。計7つ。各分野には5~8ページくらいが含まれる。
               page-業務カテゴリ.tpl.php
  c)サイトマップ、問合せ、プライバシーポリシー、それに検索画面用のレイアウトも1つ。
               page-search.tpl.php

ページ内taxonomyの非表示

投稿した記事の右下済みに表示されるtaxonomy。
表示されるだけなら問題ないものの、リンク先が/taxonomy/・・
となっていて、クリックされると分野別レイアウトとはまた別の
(規定値の)レイアウトになるので具合が悪い。

これは、コンテンツ用テンプレートファイル(node.tpl.php)で
該当箇所をコメントアウトして解決。

2008年11月28日金曜日

ぱんくずリストの表示を業務階層別にする方法

せっかくtaxonomyで業務分野の階層を定義したのだから
ぱんくずリストもこのtaxonomyを基準にして表示できたら
良いな~・・と思っていたら、ありました。
何でもありますね。

http://drupal.0829.info/module/taxonomy_breadcrumb

その名もずばり、「taxonomy breadcrumb」。

ただ、初期値(無設定)のままだと、ぱんくずリストの各項目に
対応するリンクは/taxonomy/term/1 などとなって具合が
悪いので、それぞれの用語に対して、対応する「URLエイリアス」
を設定しておくこと。

あと、ルートに相当する「ボキャブラリ」のbreadcrumb pathは
空白にしないと、ルート自体が表示されてしまう。

投稿情報(投稿者・日付)を表示しない方法

投稿情報が消えないので調べてみると・・

http://drupal.jp/node/443に、「初心者が迷走するかも」
と書かれてました。
要するに、サイトの構築メニューで、テーマ毎の設定ではなくて、
全般(Global)のほうの設定項目に「表示するしない」の
選択があると。なるほど。解決。