55673


phpのバージョン5.4でCakephp2の環境でSmartyを取り入れたいのですがうまくいきません。

[code]

    Error: The application is trying to load a file from the SmartyView plugin
    Error: Make sure your plugin SmartyView is in the app\Plugin directory and was loaded
    
[/code]

といったエラーが表示されます。どう対応すればSmartyが使えるようになるのか分かっておりません。ご教授お願いいたします。  
下記を試してみました。

・<https://github.com/smarty-php/smarty/releases/tag/v3.1.33>  
からダウンロードし、フォルダ内にあるlibsフォルダをsmartyに変更。  
cakephpディレクトリのvendorsディレクトリに入れる。

・テンプレートのキャッシュを格納するディレクトリを作成。  
cakephpのapp/tmp/smarty/compile

・<https://github.com/news2u/cakephp-smartyview>  
からダウンロードし、  
SmartyView.php  
Helperフォルダ内のファイルを  
それぞれViewフォルダに入れる

・bootstrap.phpの中に`CakePlugin::load('SmartyView');`を記載

・\app\View\Input内のindexファイルの拡張子をtplに変更

・以下を実行

[code]

    class InputController extends Controller {
    
        public $viewClass = 'Smarty';
    
        public function index()
        {
        }
    }
    
[/code]


CC BY-SA 4.0
2019-06-09T16:22:34.167
55656
2019-06-10T05:35:04.217
2019-06-09T16:56:58.737
3060
17348
question
php cakephp smarty
Cakephp2の環境でSmartyが利用できない


app/Plugin に `SmartyView` というディレクトリを作ってそこにプラグインファイルを一式いれるのが正解です。READMEにも
app/Pluginディレクトリに移動してから git cloneコマンドでSmartyViewディレクトリに展開するよう記述されています。

以下のようなディレクトリ構造になります。

[code]

    app
    |- Plugin
        |- SmartyView
            |- SmartyView.php
            |- Helper
                |- ...
    
[/code]

参考: プラグインのインストール - 2.x  
<https://book.cakephp.org/2.0/ja/plugins/how-to-install-plugins.html>

直接app/View配下に置くというブログなどの記述は、このプラグインの元となったヘルパー単体のライブラリを使用する場合の記述でしょう。

また、こちらのプラグインはいくつかIssueが報告されていますが、放置されているようでしばらくメンテナンスされていないようです。

現在のCakePHP 2.xでは動かないかもしれません。  
修正の入ったフォークがいくつかあるようですので、もし動かない場合は下記URLから探してみるとよいでしょう。

<https://github.com/news2u/cakephp-smartyview/network>


CC BY-SA 4.0
2019-06-10T05:35:04.217
55673
2019-06-10T05:35:04.217
2668
55656
answer