タグ

ブックマーク / perltips.twinkle.cc (12)

  • Perl Tips | Drupal は、ウェブ 2.0 時代のフレームワークだ。

    Drupal とは何だろう? Drupal のコミュニティでコンセンサスが得られているものとしては、 コンテンツ管理システム(CMS) ウェブアプリケーションフレームワーク コミュニティ である。 最初の CMS については、疑いない。Drupal の入り口としては、私も Movable Type の再構築に辟易し、ブログの置き換えを狙っていた。要は簡単にサイトが作れるというものである。 ところが、私自身も最近まで気づいていなかったのだが、Drupal は CMS というよりも2番目のウェブアプリケーションフレームワークと考えた方がよいと思うになった。上に挙げたリストのうち、最初の CMS とは、2番目のウェブアプリケーションフレームワークを使って作られたものに過ぎないのだ。私はDrupal のモジュールを初めて作ってみたのがちょうど1年前であるが、そのときすら Drupal の強力なフレ

  • Perl Tips | Drupal で、カテゴリ(taxnomy)ごとに投稿数をカウントする方法

    Druapl で、 Movable Type のようにブロックに表示するカテゴリの横に投稿数をカウントして出す方法 を考える。 View モジュールその他何か taxnomy 関連のモジュールを使えばできそうな気がしたのだが、探してみて Site Menu モジュールがいいセン行っているが、ブロックに taxnomy をメニューとして表示するときにはカウンタは表示されない。 ブロックそのものに直接記述するコードは以下のようになると思う。入力書式のラジオボタンで、PHP code を選択することを忘れないこと。 <?php $vocabularies = taxonomy_get_vocabularies(); print '<ul>'; foreach($vocabularies as $voc) { print "<li>" . $voc->name . "</li>"; $taxnom

    sakura3942
    sakura3942 2007/09/20
    ブログのカテゴリブロックのような表示の仕方
  • Perl Tips | Drupal で、サイトを複製する方法

    Drupal は、設定ファイル settings.php を除き、 設定情報やコンテンツはすべてデータベースに入っている ので、リファレンスモデルとなるサイトを作って(すなわち、インストールした直後または、少しの修正をほどこしたサイト)、そこでできたデータベースまたはテーブルをコピーすればよい。 まずは雛形となるサイト(https://template.yourdomain.com など)を作る。その後、settings.php の内容を修正したものを適切なディレクトリにコピーしてから、https://newsite.yourdomain.com/install.php を走らせる。 以下はサイトを複製する SQL スクリプト。仕様としては、 コピー元となるサイト データベース名: drupal テーブル名のプリフィックス: template_ コピー先のサイト データベース名: drup

  • Perl Tips | Drupal で、フォーム関数が実行される順番 (Form API)

    フォームが業務を規定する と、Dries 君は云うのだ。ウェブセントリックなウェブ 2.0 のパラダイムでは、これは正しいように思える。我々はブラウザの中でできることしか、できないのだ。値の入力はフォームが基、ということだ。 さて、Drupal の Form API は、複雑で、理解しづらい。フォーム間の値の受け渡しに至っては未熟なところがあるようにも思える。現在のところ事実上 Drupal 唯一の参考書である Pro Drupal Development を読んでもわからないところもある。そこでサンプルフォームを作り、とりあえず Form API に関係する関数がどのような順番で実行されるのか試してみた(試したのは Drupal 5)。 仕様としては、 モジュール名が hook hook_menu から hook_view が呼ばれる。 hook_view から drupal_get_

    sakura3942
    sakura3942 2007/08/22
    「Form API に関係する関数がどのような順番で実行されるのか試してみた」
  • Perl Tips | Drupal をインストールした後にすべきこと。

    最初のアカウントを作る。たとえば admin という名前で UNIX でいうところの root 権限を持つユーザーを作る。 左サイドバーのメニューから Administer をクリック、以降、システムの管理メニューから設定を行う。 作業をしやすくするためにブロックでナビゲーションブロックを右サイドバーへ。 クリーンURLを有効にする モジュール Locale、Path、Profile、Statistics を有効にする ロールに administrators を追加 アクセスコントロールを設定。特に、administrators ロールに権限をすべて与える。 設定作業をしやすくするため、メニューの管理セクション、コンテンツの管理、サイトの構築、サイトの環境設定、ユーザーの管理、ログで、展開にチェックをいれて有効にする。 日語翻訳ファイルを設定 サイト情報を設定 日付と時刻でタイムゾーンと

    sakura3942
    sakura3942 2007/08/09
    drupalインストール後に設定する項目
  • Perl Tips | Google AdSense で、広告形式には何を使用したらいいですか。

    その答えは Goolge 博士自らが 広告形式には何を使用したらいいですか。 で、ズバリ回答している。それによると、 現在、Google でお勧めする最も効果的な広告形式は、 <strong>レクタングル (大)(336 x 280)</strong>、 <strong>レクタングル (300 x 250)</strong>、および <strong>ワイド スカイスクレイパー (160 x 600)</strong> の 3 つです。 さらに、別のサイト「 a++ My RSS 管理人ブログ 」には、 コンテンツ末尾に、最も効果が高いといわれる 336×280 レクタングルを貼り付けた。 という記述があるのを見逃してはならない。当サイトでもご覧の通り試してみた。 広告の位置とフォーマットの検討は非常に重要 である。場合によっては 劇的な効果の改善をもたらす のではないだろうか。 AdSen

  • Perl Tips | Drupal で、ページのタイトルの書式を変えたい。

    Drupal 5 からは、テーマのデフォルトのテンプレートのエンジンが PHPTemplate となった。 このエンジンを使うと個々のテンプレートにはうまい具合に PHP コードが入っているので、これなら PHP をまったく知らないデザイナーでも少し学習すれば慣れるのではないかと思う(?)。すくなくとも Movable Type におけるテンプレートに入っているあの独特のタグを覚えるにはそれなりに学習カーブがあるのだから、こちらは純粋に言語としての PHP なので、アプローチとしてはこれはこれでよくできていると思う。 さて、この PHPTemplate、タイトルを構成する書式は常に「 ページタイトル | サイト名 」となるらしい。この Perl Tips もそうなのだが、タイトルの書式は「 サイト名 | ページタイトル 」である。これは SEO 的にどうなのかという議論はさておき、Mova

    sakura3942
    sakura3942 2007/07/22
    ページタイトルの変更はtemplate.phpで
  • Perl Tips | Drupal で、サブドメイン間のセッションを混乱させないために。

    Drpual はひとつのインストール、ひとつのデータベースで、複数のサブドメインのサイトを運用することができる。レンタルサーバでサブドメインが unlimited な人などは重宝するだろう(私がそう)。なぜひとつのデータベースで複数のサイトを利用するといいことがあるのかといえば、日人の場合は日語翻訳テーブルが各サイトで共用できること。それ以外に利点があるかっていうと、バックアップがひとつですんだりユーザーテーブルも共用する気になればできたり、まぁ運用方法によるとは思う。 それで、 Pro Drupal Developement によれば、1つの Drupal をサブドメインを利用して複数のサイトを運営している場合、セッション管理を混乱させないために、settings.php の中で init_set('session.name', 'mysite_PHPSESSIONID'); の1行

  • Perl Tips | Drupal で、Leech って一体何なんだ?

    Drupal モジュールリスト には Leech という、超強力なモジュールがアップされているのをご存知だろうか? Leech の説明に入る前に辞書で Leech の意味を調べてみよう。 英辞郎 あたりには技術者でもわかる訳がちゃんと載っている。 このモジュールでは RSS フィードの URL をコンテンツとして登録すると、cron のタイミングにあわせて RSS フィード先のコンテンツを取得する。それでは単なる RSS リーダーだ。Drupal ではすでにアグリゲータというオンライン RSS リーダーがコアシステムの中にデフォルトで入っている。しかし単なる RSS リーダーと違うのは、このモジュールで 取得した RSS フィード先のコンテンツを、自身のコンテンツとして Drupal のノードに蓄えてしまう ところにある。これが何を意味するかおわかりだろうか? 単なる RSS リーダーだと

    sakura3942
    sakura3942 2007/07/10
    取得した RSS フィード先のコンテンツを、自身のコンテンツとして Drupal のノードに蓄える
  • Perl Tips | Google AdSense で、広告はページのどの位置に掲載すればいいでしょうか。

    私は、優秀な技術者たるもの、ウェブ 2.0 のパラダイムの流れの中で、技術の追究だけではなくてウェブ 2.0 流の SEO やマーケティングも知識として知っていなければならないと思うのだ。その急先鋒の1つが AdSense であり、これとどう付き合っていくかも技術者の課題だと思う(たとえば、自分の担当業務に関係なくても、お客様と話しているときに何か提案できることもあるかもしれない)。そしてその AdSense を自身のサイトのデザインの中にどう組み込むかが課題となるが、そのことについてはズバリ、GoogleAdSense ヘルプ センター「 Google 広告はページのどの位置に掲載すればいいでしょうか。 」に詳しい。引用すると、 色は濃いオレンジ (高パフォーマンス部) から薄い黄色 (低パフォーマンス部) 他のすべての部分は均一 重なっている部分の上側は下側よりも高パフォーマンス

  • Perl Tips: MySQL で、latin1_swedish_ci を utf8_general_ci に変換する方法

    MySQL 4.0 と 4.1 では、文字コードの扱いの仕様が変わったらしい。特に 4.0 で日語を扱っていて、4.1 にアップグレードしたいときには文字化けという非常にややこしい状況が生まれているようだ。 さて、レンタルサーバなどのホスティングプロバイダが勝手に MySQL 4.0 から 4.1 にアップグレードしたりすると、特に海外のレンタルサーバでは日語のことなんかこれっぽっちも考えてくれてはいないため、私のケースではなぜか文字コードがすべて latin1_swedish_ci となっていた。同じ latin1 の中でも latin1_swedish_ci となるらしいのだ。 ゆえにこれを utf8 に変換したい。1レコードずつ変換するのだろうか?などと恐ろしい考えが一瞬頭をよぎったのだが、調べていくうちに以下の手順を踏めばよいことがわかった。 その答えはズバリ MySQL 4.

  • Perl Tips | Drupal

    Download and install a Bootstrap theme. Modify the following at bootstrap/templates/menu/system/form-element.func.php: /** * Overrides theme_form_element(). */ function bootstrap_form_element(&$variables) { $element = &$variables['element']; $name = !empty($element['#name']) ? $element['#name'] : FALSE; $type = !empty($element['#type']) ? $element['#type'] : FALSE; $checkbox = $type && $type === '

  • 1