Linux サーバ構築 ( Fedora Core5 ) - PHP + Smarty

Smarty と Dreamweaver 8 の連携

Dreamweaver 8 のデザイン・ビューで、Smarty の include されたファイルを表示可能にするなど、Smarty と Dreamweaver 8 の連携に関する Tips です。

  1. Dreamweaver 8 のデザイン・ビューで、Smarty の include されたファイルを表示可能にする。
    Smarty Dreamweaver - SmartyWiki を参考に、下記ファイルを作成する。 ( ファイル名は "任意~.htm ")

    尚、サブディレクトリの テンプレート・ファイル のインクルードに対応するため、太字部分を修正している。
    これにより、{ include file = "subdir/foo.tpl" } などの場合でも、表示可能となる。
    C:\Program Files\Macromedia\Dreamweaver 8\Configuration\Translators/Smartyinclude-systemo.htm
    <html>
    <head>
    <title>Smarty Include Tag Translator</title>
    <meta http-equiv="Content-Type" content="text/html; charset=">
    <script language="JavaScript">
    
    /**
     * This translator will only work on this format:
     * {include file="foo.tpl"}
     * filename must surrounded by double or single quotes
     * if 'assign' or '[var]' attribute exists, it will not tranlated
     * the include tag must be in one line
     * extra spaces are allowed, e.g. { include file = " foo.tpl " }
     * all templates file suppose to stay in the same top 'templates' folder
     * you can include subfolder in the include tag
     * all other formats will be displayed as a simple 'inc' icon
     */
    
    /**
     * define smarty delimiters
    */
    
    var LDELIM = "{";
    var RDELIM = "}";
    var smartyTemplateDir = "templates"; template_dir の root の名前を定義
    
    function getTranslatorInfo()
    {
      var transArray = new Array(6);
      transArray[0] = "SMARTY_INCLUDE";
      transArray[1] = "Smarty Include Translator";
      transArray[2] = "0";
      transArray[3] = "1";
      transArray[4] = LDELIM + "[ \t]*include";
      transArray[5] = "byExpression";
      return transArray; 
    }
    
    function translateMarkup( docNameStr, siteRootStr, inStr )
    {
      var pos = 0;
      var patternFound = false;
      var outStr = '';
      var depPath = '';
      var remainInStr = inStr;
      smartyRegExp = new RegExp("(" + LDELIM + "[ \t]*include[ \t]+file[ \t]*=[ \t]*[\"|'][ \t]*([^\"^']*)[ \t]*[\"|'][ \t]*" + RDELIM + ")", "im");
      while ((pos = remainInStr.search(smartyRegExp)) >= 0)
      {
        var matchStr = RegExp.$1;
        var templateFileName = RegExp.$2;
        var templateFullName = templateFileName;
        var smartyFile;
        outStr += remainInStr.substr(0, pos);
    
        /* smartyFile = new File(templateFullName, docNameStr); */
        var posSmarty = docNameStr.indexOf(smartyTemplateDir, 0);
        var samrtyTemplateUrl = docNameStr.substring(0, posSmarty + smartyTemplateDir.length) + "/";
        smartyFile = new File(templateFullName, samrtyTemplateUrl); template_dir のフルパスに変更
    
        if (smartyFile.exists())
        {
          smartyContent = smartyFile.getContents();
          if (smartyContent.length <= 0)
          {
            // this is an empty file
            smartyContent = " ";
          }
          depPath = smartyFile.getAbsolutePath();
        }
        else
        {
          // file doesn't exist
          smartyContent = "File Error!";
        }
        
        // Do translation
        outStr += '<MM:BeginLock translatorClass="' + getTranslatorInfo()[0] + '" type="smartyInclude" orig="' + escape(matchStr) + '"';
        if (depPath.length > 0)
          outStr += ' depFiles="' + depPath + '"';
        outStr += '>' + smartyContent + '<MM:EndLock>';
        
        // Re-search text following match
        remainInStr = remainInStr.substring(pos + matchStr.length);
        // Remember that at least one translation was performed
        patternFound = true;
      }
      outStr += remainInStr;
      return patternFound ? outStr : "";
    }
    </script>
    </head>
    <body>
    </body>
    </html>
  2. Dreamweaver 8 のデザイン・ビューで、Smarty のタグをアイコンで分かりやすく表示する。
    1. Smarty Dreamweaver より、dreamweaver_smartytags.zip をダウンロードする。
    2. 適当なフォルダで、dreamweaver_smartytags.zip を解凍する。
    3. smartytags フォルダの全ファイル ( smarty.xml および gif ファイル 11 個 )を下記のフォルダに、すべてコピーする。
        C:\Program Files\Macromedia\Dreamweaver 8\Configuration\ThirdPartyTags
( 最終更新日時 : 2008/08/31 21:24:47 )

Site Info

so_counter

Reference

コミットメント

SYSTEMO 宣言

お客様の喜びは、私たちの喜びです。

私たちは
道具としてのITが
お客様のお役に立つことを
心から願っています。

私たちは
SOHOビジネスを
支援します。

運営サイト

商品検索エンジンでオンラインショッピング・インターネット通販を楽しもう
商品検索エンジン【Jトレンズ】
商品検索 by Webサービス
【あいてむず】
  Webサービス ショップリンク サイト

社長Blog
アフィリエイトことはじめLabo
社員Blog
やりくり主婦の
  ほしい☆たべたい☆つかいたい