Le système open source Wemall7.0, développé sur la base de thinkphp5, prend en charge composer, optimise le noyau, réduit les dépendances et est basé sur de nouvelles idées architecturales et de nouveaux espaces de noms.
L'environnement d'exploitation de ThinkPHP5 nécessite PHP5.4 ou supérieur.
Liste des fonctionnalités
Page d'accueil=》Page d'accueil du système
Paramètres=》Paramètres du site, configuration SMS, configuration email
WeChat=》Configuration WeChat, menu WeChat, réponses personnalisées, modèles de messages, plusieurs paramètres de service client, imprimante WeChat
Contenu=》Classification des articles, liste d'articles
Template=》Paramètres du modèle, modèle d'e-mail, modèle SMS
Utilisateur => Groupe d'utilisateurs administrateur, liste des administrateurs, liste des utilisateurs, liste des membres
Plug-ins => Gestion des plug-ins, magasin de plug-ins
Help=》Utiliser l'aide
...
le compositeur nécessite qingyuexi/think-addons
'addons'=>[
// 可以定义多个钩子
'testhook'=>'putongdemodemo' // 键为钩子名称,用于在业务中自定义钩子处理,值为实现该钩子的插件,
// 多个插件可以用数组也可以用逗号分割
]
Ou créez un nouveau addons.php
dans le répertoire applicationextra avec le contenu suivant :
<?php
return [
// 可以定义多个钩子
'testhook'=>'putongdemodemo' // 键为钩子名称,用于在业务中自定义钩子处理,值为实现该钩子的插件,
// 多个插件可以用数组也可以用逗号分割
]
Le plug-in créé peut être utilisé dans la vue ou dans le business PHP
Une fois l'installation terminée, lorsque vous accédez au système, un répertoire nommé addons
sera généré dans le répertoire racine du projet et les plug-ins requis seront créés dans ce répertoire.
Écrivez un exemple ci-dessous :
Créer le répertoire putong dans le répertoire des addons
Créez le fichier de classe config.php dans le répertoire putong. Le fichier de configuration du plug-in peut être omis.
<?php
return [
'name' => 'putong',
'title' => 'putong',
'description' => 'putong类插件',
'status' => 1,
'author' => '清月曦'
];
Créez un répertoire de démonstration dans le répertoire putong sous le répertoire addons
Créez le fichier de classe Demo.php dans le répertoire test. Remarque : La première lettre du fichier de classe doit être en majuscule
<?php
namespace addonsputongdemo; // 注意命名空间规范
use thinkAddons;
/**
* 插件测试
* @author byron sampson
*/
class Demo extends Addons // 需继承thinkaddonsAddons类
{
// 该插件的基础信息
public $info = [
'name' => 'test', // 插件标识
'title' => '插件测试', // 插件名称
'description' => 'thinkph5插件测试', // 插件简介
'status' => 0, // 状态
'author' => 'byron sampson',
'version' => '0.1'
];
/**
* 插件安装方法
* @return bool
*/
public function install()
{
return true;
}
/**
* 插件卸载方法
* @return bool
*/
public function uninstall()
{
return true;
}
/**
* 实现的testhook钩子方法
* @return mixed
*/
public function testhook($param)
{
// 调用钩子时候的参数信息
print_r($param);
// 当前插件的配置信息,配置信息存在当前目录的config.php文件中,见下方
print_r($this->getConfig());
// 可以返回模板,模板文件默认读取的为插件目录中的文件。模板名不能为空!
return $this->fetch('info');
}
}
Créez le fichier de classe config.php dans le répertoire de test. Le fichier de configuration du plug-in peut être omis.
<?php
return [
'name' => 'demo',
'title' => 'demo',
'description' => 'demo插件',
'status' => 1,
'url' => true,
'author' => '清月曦',
'version' => '0.1'
];
Créez le fichier modèle info.html dans le répertoire demo, qui est le fichier modèle correspondant lorsque le hook utilise la méthode fetch.
<h1>hello tpl</h1>
如果插件中需要有链接或提交数据的业务,可以在插件中创建controller业务文件,
要访问插件中的controller时使用addon_url生成url链接。
如下:
<a href="{:addon_url('putong://demo/admin/index')}">link demo</a>
格式为:
demo为插件名,admin为controller中的类名,index为controller中的方法
Créez le répertoire du contrôleur dans le répertoire de test et créez le fichier Action.php dans le répertoire du contrôleur. L'utilisation de la classe du contrôleur est cohérente avec le contrôleur dans tp5.
<?php
namespace addonsputongdemocontroller;
class Admin
{
public function index()
{
echo 'hello link';
}
}
Si vous devez utiliser le modèle de vue, vous devez hériter du fichier de modèle de classe
thinkaddonsController
. L'emplacement du fichier de modèle est la vue dans le répertoire du plug-in. Les règles sont cohérentes avec les règles de vue dans le répertoire. module.
<?php
namespace addonsputongdemocontroller;
use thinkaddonsController;
class Admin extends Controller
{
public function index()
{
return $this->fetch();
}
}
Après avoir créé le plug-in, vous pouvez utiliser le hook dans le plug-in dans des conditions normales. Lors de l'utilisation du hook, le deuxième paramètre peut être omis.
<div>{:hook('testhook', ['id'=>1])}</div>
Il peut être utilisé n'importe où dans le processus normal de thinkphp5
hook('testhook', ['id'=>1])
tp5
- addons
-- putong
--- demo
---- controller
----- Admin.php
---- view
---- action
----- link.html
--- config.php
--- info.html
--- Demo.php
- application
- thinkphp
- extend
- vendor
- public
La version open source wemall7 est publiée sous la licence open source Apache2 et est disponible pour une utilisation gratuite. Les informations de copyright du code source tiers et des fichiers binaires inclus dans ce projet sont marquées séparément. Copyright Copyright © 2016-2017 par wemallshop.com (http://www.wemallshop.com) Tous droits réservés.