PHPCMS V9 簡単二次開発

WBOY
リリース: 2016-06-13 13:02:42
オリジナル
1223 人が閲覧しました

PHPCMS V9の簡易二次開発

その他の二次的な開発のヒントについては、phpcms システムのヘルプを確認してください 、フロントエンドテンプレート解析後のキャッシュ キャッシュcaches_templatedefault

フロントエンド コントロール クラスindex.php、フロントエンド タグ クラス *_tag.class.php、フロントエンドに必要な変数はフロントエンド コントロール クラスとフロントエンド タグに含めることができます。クラスは組み合わせで協力して返します

?

新しい機能モジュールを追加すると、その情報ストレージ用の記事モデル フィールドがやや不十分です 、それを解決するために一般的にどのような方法が採用されていますか?

1. フィールドをデータベースに直接追加できます (バックエンド モデル管理 -- 記事モデル -- フィールド管理、またはデータベースに直接追加します)

2. 新しいフィールド モデルをカスタマイズします (バックエンド モデル管理 -- モデルの追加)

3. 新しいテーブルを直接作成します

?

二次開発でデータベース テーブルを追加する場合、他のタグが使用され、区別が示されます:

データベース設定ファイルの場所:caches/configs/database.php

?<?php
 return array (
   'default' => array (
     'hostname' => 'localhost',
     'database' => 'phpcms',
     'username' => 'admin',
     'password' => 'admin',
     'tablepre' => 'v9_',
     'charset' => 'gbk',
     'type' => 'mysql',
     'debug' => true,
     'pconnect' => 0,
     'autoconnect' => 0
   ),
    /* 以下默认不存在 */
   'extended' => array (
     'hostname' => 'localhost',
     'database' => 'phpcms',
     'username' => 'admin',
     'password' => 'admin',
     'tablepre' => 'ext_',
     'charset' => 'gbk',
     'type' => 'mysql',
     'debug' => true,
     'pconnect' => 0,
     'autoconnect' => 0
   ),
 );
 ?>
ログイン後にコピー

?

URL アクセス

http : //yourdomain.com/index.php?m=content&c=index&a=show&id=1

m = コンテンツ phpcms/modules/content
c =index? にあるモデル/モジュール名です。 コントローラー名は phpcms/modules/content/index.php
a = show にありますか? 時間名は phpcms/modules/content/index.php
id = 1 にありますか? 他のパラメータについては、パラメータの形式は通常の get

と同じです。

phpcms のデフォルト ルートは、コンテンツ モジュールのインデックス コントローラーの初期化操作 に設定されます モジュールまたはコントローラーが指定されていない場合、システムはデフォルトのモジュールと操作を実行するためです。

?

1. デフォルトのホームページを変更します

/caches/configs/route.php ファイルを変更します

?

2. モデルを作成します

新しいモデルを作成します phpcms/model/ 形式: my_model.class.php my はテーブル名を指し、その基本形式は次のとおりです:

<?php
defined('IN_PHPCMS') or exit('No permission resources.');
pc_base::load_sys_class('model', '', 0);
class my_model extends model {
    public function __construct()
    {
        $this->db_config = pc_base::load_config('database');
        $this->db_setting = 'default';
        $this->table_name = 'my';
        parent::__construct();
    }
}
?>
ログイン後にコピー

3. モジュールを作成します

新しい my ディレクトリを作成します。その下のディレクトリには、クラス関数テンプレートが含まれます。-----ここでのディレクトリは、次のような基本的な内容を含むフロントエンド php ファイル mytest.php を作成します。 🎜>

<?php
defined('IN_PHPCMS') or exit('No permission resources.');
class mytest {
    function __construct()
    {
        $this->db = pc_base::load_model('my_model');
    }
    public function init() {
        $result = $this->db->select();
        var_dump($result);
        include template('my', 'my',$result); //my是templates目录,第二个my是文件名,$result为风格名称,默认不填为defalut

    }

    public function mylist()
    {
        $var = 'hello world!this is a example!';
        echo $var;
		$siteid = get_siteid();
		$SEO = seo($siteid, '', $var);
		include $this->admin_tpl("mytest_admin_list");
    }
}
?>
ログイン後にコピー
?4. テンプレートを作成します

バックエンド テンプレートは phpcmsmodulesmytesttemplates にあります

フロントデスクは phpcmstemplates にあります

新しい my ディレクトリを作成し、my ディレクトリを include template('my','my',$style);

{template "content","header"}

{loop $result $value}
    用户ID:{$value['id']}<p>
    密码:{$value['username']}<p>
{/loop}

{template "content","footer"}
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート