atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
ページ検索 メニュー
WEB 系 FAQ @ ウィキ
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
WEB 系 FAQ @ ウィキ
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
WEB 系 FAQ @ ウィキ
ページ検索 メニュー
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • WEB 系 FAQ @ ウィキ
  • CakePHP 2.0 + Smarty

WEB 系 FAQ @ ウィキ

CakePHP 2.0 + Smarty

最終更新:2011年10月20日 17:46

javascripter

- view
だれでも歓迎! 編集
http://bakery.cakephp.org/articles/skler/2011/08/05/cakephp_2_0_0_beta_smarty_3

<?php
class SmartyView extends View {
	function __construct (&$controller) {
		parent::__construct($controller);
		if (is_object($controller)) {
			$count = count($this->__passedVars);
			for ($j = 0; $j < $count; $j++) {
				$var = $this->__passedVars[$j];
				$this->{$var} = $controller->{$var};
			}
		}

		if(!App::import('Vendor', 'Smarty', array('file' => 'smarty'.DS.'Smarty.class.php')))
			die('error Loading Smarty Class');
		$this->Smarty = new Smarty();

		$this->subDir = 'smarty'.DS;

		$this->ext= '.tpl';
		//$this->Smarty->plugins_dir[] = VENDORS.DS.'smarty'.DS.'plugins';
		$this->Smarty->compile_dir = TMP.'smarty'.DS.'compile'.DS;
		$this->Smarty->cache_dir = TMP.'smarty'.DS.'cache'.DS;
		$this->Smarty->error_reporting = 'E_ALL & ~E_NOTICE';
		$this->Smarty->debugging = true;
		$this->Smarty->compile_check = true;
		$this->viewVars['params'] = $this->params;

		$this->Helpers = new HelperCollection($this);
	}

	protected function _render($___viewFn, $___dataForView = array()) {
		$trace = debug_backtrace();
		$caller = array_shift($trace);
		if ($caller === "element") parent::_render($___viewFn, $___dataForView);

		if (empty($___dataForView)) {
			$___dataForView = $this->viewVars;
		}

		extract($___dataForView, EXTR_SKIP);

		foreach($___dataForView as $data => $value) {
			if(!is_object($data)) {
				$this->Smarty->assign($data, $value);
			}
		}

		$this->Smarty->assign('View', new View(null));

		ob_start();
		$this->Smarty->display($___viewFn);
		return ob_get_clean();
	}

	public function loadHelpers() {
		$helpers = HelperCollection::normalizeObjectArray($this->helpers);
		foreach ($helpers as $name => $properties) {
			list($plugin, $class) = pluginSplit($properties['class']);
			$this->{$class} = $this->Helpers->load($properties['class'], $properties['settings']);
			$this->Smarty->assign($name, $this->{$class});
		}
		$this->_helpersLoaded = true;
	}
}

?>


タグ:

+ タグ編集
  • タグ:
タグの更新に失敗しました
エラーが発生しました。ページを更新してください。
ページを更新
「CakePHP 2.0 + Smarty」をウィキ内検索
LINE
シェア
Tweet
WEB 系 FAQ @ ウィキ
記事メニュー

メニュー

  • トップページ
  • プラグイン紹介
  • まとめサイト作成支援ツール
  • メニュー
  • メニュー2



リンク

  • @wiki
  • @wikiご利用ガイド

他のサービス

  • 無料ホームページ作成
  • 無料ブログ作成
  • 2ch型掲示板レンタル
  • 無料掲示板レンタル
  • お絵かきレンタル
  • 無料ソーシャルプロフ




ここを編集
記事メニュー2

更新履歴

取得中です。


ここを編集
最近更新されたページ
  • 4965日前

    英語キーボード
  • 5027日前

    CakePHP 2.0 + Smarty
  • 5032日前

    Unable to allocate memory for pool
  • 5033日前

    session_start() ... Permission denied
  • 5037日前

    vim 拡張子ごとのハイライト
  • 5038日前

    phpinfo が表示されない
  • 5041日前

    リモートファイルの最終更新日
  • 5049日前

    スクレイピング
  • 5049日前

    Allowed memory size of ...
  • 5050日前

    CakePHP で xml
もっと見る
最近更新されたページ
  • 4965日前

    英語キーボード
  • 5027日前

    CakePHP 2.0 + Smarty
  • 5032日前

    Unable to allocate memory for pool
  • 5033日前

    session_start() ... Permission denied
  • 5037日前

    vim 拡張子ごとのハイライト
  • 5038日前

    phpinfo が表示されない
  • 5041日前

    リモートファイルの最終更新日
  • 5049日前

    スクレイピング
  • 5049日前

    Allowed memory size of ...
  • 5050日前

    CakePHP で xml
もっと見る
ウィキ募集バナー
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  2. MadTown GTA (Beta) まとめウィキ
  3. R.E.P.O. 日本語解説Wiki
  4. シュガードール情報まとめウィキ
  5. ソードランページ @ 非公式wiki
  6. AviUtl2のWiki
  7. Dark War Survival攻略
  8. シミュグラ2Wiki(Simulation Of Grand2)GTARP
  9. ありふれた職業で世界最強 リベリオンソウル @ ウィキ
  10. 星飼いの詩@ ウィキ
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ストグラ まとめ @ウィキ
  3. ゲームカタログ@Wiki ~名作からクソゲーまで~
  4. 鹿乃つの氏 周辺注意喚起@ウィキ
  5. 初音ミク Wiki
  6. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  7. 発車メロディーwiki
  8. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  9. 検索してはいけない言葉 @ ウィキ
  10. Grand Theft Auto V(グランドセフトオート5)GTA5 & GTAオンライン 情報・攻略wiki
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. チンポ画像収集場 - 検索してはいけない言葉 @ ウィキ
  2. 参加者一覧 - ストグラ まとめ @ウィキ
  3. ドンキーコング バナンザ - アニヲタWiki(仮)
  4. 機体一覧 - 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  5. 危険度7 - 検索してはいけない言葉 @ ウィキ
  6. キングクルール - アニヲタWiki(仮)
  7. ひの らん/エピソード6 - ストグラ まとめ @ウィキ
  8. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  9. 生きたメキシコ - 検索してはいけない言葉 @ ウィキ
  10. コメント/雑談・質問 - マージマンション@wiki
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.