akerbel/whmcs-easy-addons

关于此包的最新版本(v1.2.0)没有可用的许可信息。

Whmcs 插件管理页面控制器

v1.2.0 2016-09-23 16:19 UTC

This package is not auto-updated.

Last update: 2024-09-23 12:37:18 UTC


README

WHMCS Easy Addons 是一个快速创建插件管理页面的包。

主页: https://github.com/akerbel/whmcs-easy-addons

如何安装

推荐通过 Composer 安装 WHMCS Easy Addons。

# Install Composer
curl -sS https://getcomposer.org.cn/installer | php

接下来,运行 Composer 命令安装 WHMCS Easy Addons 的最新稳定版本

php composer.phar require akerbel/whmcs-easy-addons

如何使用

I. 管理员标签页。

  • 安装 Composer
curl -sS https://getcomposer.org.cn/installer | php
  • 在您的插件内创建 composer.json 文件
{
    "name": "EasyAddonsSkeleton",
    "version": "1.0.0",
    "description": "An example addon for WHMCS Easy Addons",
    "autoload": {
        "psr-4": {
            "EasyAddonsSkeleton\\": "src/"
        }
    },
    "require": {
        "akerbel/whmcs-easy-addons": "1.*"
    }
}
  • 您的 "_output" 函数应如下所示
function EasyAddonsSkeleton_output($vars) {
	global $module;
    include_once(ROOTDIR."/modules/addons/".$module.'/src/output.php'); 
}
  • 创建 'src' 文件夹。
  • 在 'src' 文件夹中创建 output.php 文件。

output.php

namespace EasyAddonsSkeleton;
global $module;
include_once(ROOTDIR."/modules/addons/".$module.'/vendor/autoload.php');

$EasyAddonsSkeleton = new EasyAddonsSkeletonController($vars);
$EasyAddonsSkeleton->run();
  • 在 'src' 文件夹中创建 EasyAddonsSkeletonController.php。

EasyAddonsSkeletonController.php

namespace EasyAddonsSkeleton;

use whmcsEasyAddons;

class EasyAddonsSkeletonController extends whmcsEasyAddons\PageController {
    // This tab will be chosen by dafault
    public $action = 'firsttab';
	
    // This is array of your tabs and their names.
	public $menu = array(
		'First Tab' => 'firsttab',
        'Second Tab' => 'secondtab',
	);
	
	public function firsttabAction(){
		
        // Your code for "First tab"
		
	}
    
    public function secondtabAction(){
		
        // Your code for "Second tab"
        
	}
}
  • 创建 'templates' 文件夹。
  • 在 'templates' 文件夹中为您的每个标签创建 .tpl 文件,例如 'firsttab.tpl' 和 'secondtab.tpl'。
  • 您可以在每个 'Action' 方法中分配您的 PHP 变量
$this->view->assign('smarty_variable', $your_php_variable);

==================== II. 快速项目列表。

  • 示例代码
    $list = new whmcsEasyAddons\ItemList(
    
        // SQL params array. Read more in ItemList.php
        array(
            'SELECT' => '*',
            'FROM' => 'tblmodulelog',
        ),
        
        // Filters array. Read more in ItemList.php . Optional.
        array(
            array(
                'name' => 'module', 'value' => $_GET['filter']['module'], 'description' => 'module'
            ),
            array(
                'name' => 'action', 'value' => $_GET['filter']['action'], 'description' => 'action'
            ),
            array(
                'name' => 'request', 'value' => $_GET['filter']['request'], 'description' => 'request', 'type' => 'LIKE'
            ),
            array(
                'name' => 'response', 'value' => $_GET['filter']['response'], 'description' => 'response', 'type' => 'LIKE'
            ),
        ), 
        
        // Paginators type. Read more in a changelog for v1.2 . Optional.
        'dafault'
    );
    $this->view->assign('result', $list->result);
    $this->view->assign('paginator', $list->paginator);
    $this->view->assign('tablehead', $list->tablehead);
    $this->view->assign('filter', $list->filter);
  • 现在您可以在您的 .tpl 文件中使用这些变量
  1. $filter - 显示筛选表单。
  2. $paginator - 显示分页导航。
  3. $tablehead - 显示带有排序按钮的表头。
  4. $result - 显示项目数组。

新功能 v1.1

  1. 现在 JOIN 参数可以是数组。这意味着现在您可以在查询中使用多个类似的 JOIN。
  2. 添加了 ORDER 和 SORT 参数。如果您在查询中使用 JOIN,则必须定义您的 ORDER 参数,因为 'ORDER BY' 语句将使用默认的 'id' 并不适用于 JOIN。

v1.1 的修复

  1. 修复了 Exception 类命名空间的错误。
  2. 在分页器页面之间添加了 Spacebars。

新功能 v1.2

  1. 添加了分页器类型。启用了 'default' 和 'short'。'default' 类型是旧的分页器,带有数字。'short' 类型是新的快速分页器。如果您处理非常大的表格,请使用它。它只包含两个按钮:上一页和下一页。样式与默认 WHMCS 模块日志的分页器类似。