Попытка интегрировать функциюpartalloop () Zend Framework v2.5.1 во внешний класс подключаемых модулей Jquery с данными. - PullRequest
0 голосов
/ 24 июня 2019

На самом деле, я застрял в какой-то момент, я конвертирую библиотеку Datatables, которая уже интегрирована в проект на основе Zend Framework v2.5.1.

Я хочу использовать ajax-версию таблиц данных.поэтому я использую эту библиотеку таблиц данных.

Я могу изменить ее и интегрировать в нее преобразованный 90% кода, но я не очень хорош в Zend, я впервые работаю сZend

застрял часть: я хочу использовать эту функцию Zend в моем внешнем классе PHP.

  echo $this->partialLoop('html/iconButton', $this->viewHelper()->checkUrlPermission($listIconDatauser));

Я много искал и нашел эту часть информации

здесь он интегрировал функцию part (), но в моем коде вы можете ясно увидеть, что это функция partlolo ().

Итак, вот что я делал до сих пор

include '../../public/constant.php';

$cwd = getcwd();
chdir(ROOT_DIR);
require 'init_autoloader.php';
Zend\Mvc\Application::init(require 'config/application.config.php');
use Zend\View\Renderer\PhpRenderer;
use Zend\View\Resolver;
//create a Template Stack
$stack = new Resolver\TemplatePathStack(array('script_paths' => array(__DIR__ . '/module/Module/view/partial')));

//create a Resolver
$resolver = new Resolver\AggregateResolver();
$resolver->attach($stack);

//create a Renderer
$renderer = new PhpRenderer();
$renderer->setResolver($resolver);



//Zend\Mvc\Application::init(require 'vendor/zendframework/zend-view/src/Renderer/PhpRenderer.php');
session_start();
//var_dump($this->partial());
//$permission = @$_SESSION['base']->permission;
//echo "<pre>";print_R($permission);die;

/*

$file = $_SERVER['DOCUMENT_ROOT'].'/datatables/pdo.php';
$customArray = [];
if ( is_file( $file ) ) {
    include( $file );
}
*/
class SSP {
    /**
     * Create the data output array for the DataTables rows
     *
     *  @param  array $columns Column information array
     *  @param  array $data    Data from the SQL get
     *  @return array          Formatted data in a row based format
     */

    static function checkUrlPermission($data) {

            if (!empty($data)) {
                //$session = new \Zend\Session\Container('base');

                //$permission = $session->offsetGet('permission'); 
                $permission = @$_SESSION['base']->permission;
              // echo "<pre>";print_R($permission);die;

                for ($i = 0; $i < sizeof($data); $i++) {
                    if (!empty($data[$i]['controller'])) {
                        if (!in_array($data[$i]['controller'] . '###' . $data[$i]['action'], $permission)) {
                            $data[$i]['controller'] = '';
                            $data[$i]['action'] = '';
                            $data[$i]['class'] = 'disabled';
                        }
                    } else {
                        $data[$i]['controller'] = '';
                        $data[$i]['action'] = '';
                    }
                }
            }

            return $data;
        }


        static function data_output ( $columns, $data )
        {  // print_R($data);die;
            $out = array();
            for ( $i=0, $ien=count($data) ; $i<$ien ; $i++ ) {
                $row = array();
                for ( $j=0, $jen=count($columns) ; $j<$jen ; $j++ ) {
                    $column = $columns[$j];
                    // Is there a formatter?
                    if ( isset( $column['formatter'] ) ) { 

                        $row[ $column['dt'] ] = $data[$i][$j];
                    }
                    else { 
                        $row[ $column['dt'] ] = $data[$i][$j];
                                     //    if($column['dt'] == 8){

                                       //  }

                    }
                }
                $out[] = $row;
            }

    foreach($out as $val){

    $listIconDatauser= [ 
    ['name' => 'user', 'controller' => 'user', 'action' => 'showuserbydoc', 'icon' => 'icon-user', 'iconClass' => 'btn-primary fancybox fancybox.iframe titleIcon', 'data' => ['userId' => $val[8]],'isframe'=>1],
                                                ];

    //print_R($listIconDatauser);die;
    //$data = self::checkUrlPermission($listIconDatauser);
    /*
    echo $renderer->partial('name', array(  //resolves to "__DIR__ . '/module/Module/view/partial/name.phtml"
        'from' => 'Team Framework',
        'subject' => 'view partials'
    ));die;
    */

       echo $renderer->partialLoop('html/iconButton', self::checkUrlPermission($listIconDatauser));die;


    print_R($data);die;
    }
            return $out;
        }

в вышеприведенном коде sessionpart работает и функция checkUrlPermission работает, но echo $ renderer-> частичный цикл не работает.

Я пытаюсь интегрировать модуль / приложение / представление / частичное / iconButton.phtml вот код.

<?php
$href='';
//PR($this);die;
if (!empty($this->controller)) {
    $urPart = array("controller" => $this->controller, "action" => $this->action); 
    $urPart = ($this->data)?array_merge($urPart, $this->data):$urPart;
$options=array();
if($this->isframe){
$options["query"]=array("isframe"=>1);
}
    $href = "href='".$this->url($this->controller, $urPart,$options)."'";
}
if(!isset($this->dataVal))
{
    $this->dataVal="";
}
?>
<?php if(empty($this->class)){?>
<a <?=$href; ?> class="btn btn-mini tip no-margin <?= $this->iconClass; ?> <?= $this->class; ?>" title="<?= $this->name; ?>" data-val="<?=$this->dataVal?>"><i class="<?= $this->icon; ?>"></i></a>
<?php }?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...