PHP、Smarty、ケータイサイトについて発信中。書籍 「Smarty動的webサイト構築入門」(技術評論社) 好評発売中
RSS icon Home icon
  • [問合せ] 2章、46ページで画像が表示されない


    問合せ
     2章、46ページの02_03.phpを表示すると、Studyでは、0001のデータしか表示されず、画像も表示されません。data.csvの行の最後に、「,(カンマ)」を入れると、画像が表示されました。Eating、Workでは、data.csvの内容は何も表示されません。

    回答
     data.csvの改行コードを CR にしたところ、問合せの状況を再現しました。テキストエディタでdata.csvを保存するとき、改行コードを CR+LF または LF で保存してください。

    Smarty動的Webサイト構築入門
    Amazon.co.jpの詳細ページへ

  • [問合せ] Pager.php や DB.php はどこにありますか


    問合せ
     4章6の chapter4_6/index.php のrequire_once(‘Pager.php’) の Pager.phpや、CMS.class.phpのrequire_once(‘DB.php’) のDB.phpがCD-ROMにありませんが、どこにありますか

    回答
     Pager.php、DB.phpともに、xamppについてきます。xamppをインストールすると、次の場所にあります。

    c:\xampp\php\PEAR\Pager.php
    c:\xampp\php\PEAR\Pager\*.php
    c:\xampp\php\DB\DB.php
    c:\xampp\php\DB\DB\*.php

    Smarty動的Webサイト構築入門
    Amazon.co.jpの詳細ページへ

  • [問合せ] PHP4で、4章6を正しく表示できない


    問合せ
     PHP4で、4章6の193ページを正しく表示できません。

    回答
    原因
     chapter4_6/SortNavigator.class.phpで、http_build_query関数を呼んでいます。しかし、この関数はPHP5以降のため、PHP4ではエラーになります。

    対策
     php5func.zip をダウンロード、解凍して、chapter4_6/php5func.php にコピーしてください。

     次に、chapter4_6/index.php を修正します。
    (修正前)

    require_once( './config.php' );
    
    $smarty   = new Smarty();

    を、次のように赤太字の部分を挿入してください。

    (修正後)

    require_once( './config.php' );
    
    if ( PHP_VERSION < "5" ) {
     require_once( './php5func.php' );
    } 
    
    $smarty   = new Smarty();

    Smarty動的Webサイト構築入門
    Amazon.co.jpの詳細ページへ

  • PEAR::Net_UserAgent_Mobile用のi-mode機種情報xml


     Smarty動的Webサイト構築入門の5.3 Smartyとケータイで、PEAR::Net_UserAgent_Mobileパッケージを使っています。このパッケージは外部ファイルからi-mode機種情報を読み込むことができます。本の付録CDROMに、筆者作成のdocomo_netuamobile.xmlを収録しました。

     ところが、このdocomo_netuamobile.xmlには不具合があり、下から5~6行目の「SO902WP+」以降を正しく読み込みません。次の2点の修正が必要です。

     1点目は、docomo_netuamobile.xmlです。「SO902WP+」ではなく、「SO902WPplus」とします。次のファイルは、2008/9/21時点で、288機種あります。

    docomo_netuamobile.xmlのダウンロードページ

     2点目は、keitai_ini.phpを修正して、「SO902WP+」自体を認識できるようにします。SO902WP+の場合は、Net_UserAgent_Mobile内部の機種情報を使い、そうでない場合は、docomo_netuamobile.xmlを使うようにします。

    修正前
    7: $_SERVER['DOCOMO_MAP'] = dirname(__FILE__) . “/docomo_netuamobile.xml”;
    8: $agent = &Net_UserAgent_Mobile::factory();
    9: $display = $agent->getDisplay();

    修正後
    7:  if ( ! preg_match(‘/SO902iWP[+]/’, $_SERVER['HTTP_USER_AGENT']) ) {
    8:     $_SERVER['DOCOMO_MAP'] = dirname(__FILE__) . “/docomo_netuamobile.xml”;
    9:   }
    10: $agent = &Net_UserAgent_Mobile::factory();
    11: $display = $agent->getDisplay();

    Smarty動的Webサイト構築入門
    Amazon.co.jpの詳細ページへ

  • Smarty動的Webサイト構築入門


     「Smarty動的Webサイト構築入門」が技術評論社から発売されます。原、青木、川野辺、鵜飼の共著で、私も執筆者の一人として参加しました。


    Amazon.co.jpの詳細ページへ

     本書はPHP上で動くテンプレートエンジン「Smarty」の解説書です。

     Smartyを使った動的なサイトの構築方法から、応用テクニックまで幅広く説明します

    ・テンプレートとは
    ・PHPの基礎
    ・Smartyの基礎
    ・CMSやブログの作成
    ・MySQLとphpMyAdmin
    ・Flashとの連携
    ・XMLの出力
    ・JavaScriptでフォトギャラリー
    ・ケータイ向けWebページ
    ・APIとの連携

     Webの表示に関わっている、もしくはこれから関わっていきたい人向けに書いています。デザインが大好きだけど、システムがからんだ部分もちょっとは自分でやりたいよ、という人、大歓迎です。もちろんPHPプラグラマにも役に立つSmartyテクニックが満載です。

     前半でPHP、Smartyの基礎を学びます。後半でクリエイティブの現場で使えそうなサンプルコードを実際に入力して試しながら身につけていきます。

    【第1章】
     テンプレートの機能とメリットについて説明します。

    【第2章】
     PHPの重要な基礎を学びます。SmartyはPHP上で動くテンプレートエンジンのためです。

    【第3章】
     Smartyの基礎を学びます。Smartyの関数、修飾子について説明します

    【第4章】
     実用的なページへの応用テクニックを学びます。まず、SmartyでCMSを作った後、サイドメニュー、リンクバナー、告知バナーを追加します。続いて、新着表示とスタッフ日記、昼夜で変わるヘッダー表示、MySQLとphpMyAdmin、PEAR::Pagerを使ったページネート、入力フォーム、正規表現とメニューボックス、テンプレート処理結果のファイル保存、を扱います。

    【第5章】
     Webサイト構築への応用テクニックを学びます。FlashブログパーツとXML出力、JavaScriptのフォトギャラリー、ケータイのブラウザ判別と画像表示、Twitter APIを使った3列表示のマイポータル、PEAR::Authを使った管理画面ログイン機能、Amazon APIを使ったおすすめの本棚、を作ります。PHPとSmartyによる動的サイト構築を楽しんでください。

     読み終えたときには、きっと現在担当している規模より少し規模の大きい案件にも立ち向かえるポテンシャル、そしてサーバーサイドから自在にアウトプットできる自信が身についていることでしょう。

     動作環境:Windows + XAMPP、巻末にXAMPPインストール手順

    (CDROM付き)


    Amazon.co.jpの詳細ページへ

     技術評論社サイトには、この本のサポートサイトがありませんので、できるだけ本サイトでサポートする予定です。私の担当は、次の★です。

    1 テンプレートの基礎知識
    2 PHPかけあし入門
    3 Smartyの基礎知識
    4.1 CMSをSmartyで作ろう
    4.2 サイドエリアを表示する
    4.3 サイトに共通の告知文を挿入する
    4.4 コンテンツごとにデザインを変える
    4.5 時間毎にヘッダーを変える
    ★4.6 複数ある項目を並び替える
    ★4.7 Smartyを使って入力フォームを作る
    ★4.8 サブメニューの折りたたみと現在位置の強調表示
    ★4.9 テンプレートの処理結果をファイルに保存する
    5.1 Smartyと連携したブログパーツを作る
    5.2 JavaScriptとの連携
    ★5.3 Smartyとケータイ
    5.4 Twiterと連携したマイポータルを作る
    5.5 管理ページに認証機能をつける
    ★5.6 おすすめ本棚のサイトを製作する
    ★A.1 XAMPPのインストール
    ★A.2 Smartyエラーメッセージの日本語訳