Краткий справочник по параметрам метадаты

Deprecated
==========================
is_multy_use
is_select
==========================
Соотвествия полей
==========================
val_type => input_type
==========================
boolean            => checkbox
boolean            => label
==========================
datetime        => datetime_ajax
datetime        => label
==========================
date                => date_ajax
date                => label
==========================
int                    => select
int                    => text
int                    => label
int                    => label_sel
==========================
float                => text
float                => label
==========================
string            => select
string            => password
string            => text
string            => label
string            => label_sel
string            => image
string            => file
string            => file_select
==========================
text                => formated
text                => textarea 
text                => texteditor
==========================
timestamp        => timestamp
==========================

Линки в метадате (принцип и логика использования)
Структура массивов стандартная : индекс поля  - значение
описываются линки 4 параметрами
public $link                = array();    // Ссылка для значения ячейки
public $link_vars        = array();    // Параметры для подстановки в link
public $link_types    = array();    // Параметры для подстановки в link ( например popup)
public $link_picture    = array();    // Картинка для  подстановки в ячейку

Обработка начинается если передан индекс поля : то есть массив $link - должен быть заполнен
Варианты заполнения массива $link:
1.Если в качестве ссылки используется значение из БД, пишем field. Пример : "link"=>array("15"=>'field')
2.Если просто нужно вызвать ссылку кликом на ячейке - пишем саму ссылку.
Для подставновки параметров в строку ссылки используется счетчик параметров , значение счетчика начинается с 0
Пример : "link"=>array(2=>'index.php?module=__module__&view=__view__&psid=[0]')
При обработке происходит распарсивание соответствующего элемента массива  $link_vars и подстановка значений в ссылку
Пример ссылки с  несколькими параметрами в строке 
"link"=>array(1=>'index.php?module=catalog&view=images&task=modify&psid=[0]&multy_code=[1]'),
"link_key"=>array(1=>'$id,i_gid') // тут 1 элемент расчетный параметр,  второй значения поля этой строки

 


Дополнительные условия на запрос

Формат использования

в метадате (будет применяться всегда)
$custom_sql=" AND c.u_role=90";
    
в контроллере 

        $viewname     = $this->getView()->getName();
        $mdl = Module::getInstance();
        $this->checkACL("view".ucfirst($mdl->getName()).ucfirst($viewname));
        $reestr = $mdl->get('reestr');
// это кусок запроса
        $reestr->set('custom_sql'," AND c.u_role=90");


Организация линковочных таблиц

Линковочные таблицы используются для организации дополнительных множественных связей неявного характера.
Например товары, относящиеся к нескольким объектам 
(то есть товары продающиеся в нескольких магазинах, отпускаемые с нескольких складов и т.п. логические связки)
Линковка осущствеляется между основной таблицей данных и дополнительным справочником

Термины
Таблица данных : таблица которую связываем(например, список товаров) 
Таблица родитель : таблица с которой связываем(например, список складов) 
Таблица связи :  Служебная таблица, которая хранит в себе связи 


Для организации линковки необходимо:


1. В метадате Таблица данных прописать значения
$multy_field='e_id';  // поле которое является связным
$parent_table="txg_model"; // имя Таблицы родителя
$parent_name='m_name'; // поле наименования элемента с которым связываем
$parent_view="mark";  //  имя "вьюхи" таблицы родителя
$parent_code='m_id';  // поле id элемента с которым связываем

2. Создать метадату селектора
Имя метадаты должно быть  [вьюха таблицы родителя].selector.php

пример метадаты

$tablname='txg_model';
$keystring='m_id';
$namestring='m_name';
$deleted='m_deleted';
$selector=true;
$nametabl="Available models";
$is_add_field=true;
$cur_table_arr=array(
                "field"=>array(1=>'m_id','m_name'),
                "name"=>array(1=>"ID","Model name"),
                "input_type"=>array(1=>'text','text'),
          "val_type"=>array(1=>'int','string')
);

3.Создать таблицу связи
CREATE TABLE `c_[Таблица данных]_links` (  
                       `e_id` int(11) NOT NULL,  // - поле которое является связным в таблице данных          
                       `parent_id` int(11) NOT NULL,  // жесткое наименование     
                       `ordering` int(5) DEFAULT '0', // жесткое наименование     
                       PRIMARY KEY (`e_id`,`parent_id`)    
                     ) ENGINE=InnoDB DEFAULT CHARSET=utf8  

 

Видеоматериалы
Документация
Altadoc-версия для ТСЖ
Завод игрового оборудования №1 во Владимире
Общественная приемная по вопросам ЖКХ г.Владимира и Владимирской области
Городской центр программного обеспечения
0.073936939239502
Для качественного предоставления услуг, наш сайт собирает метаданные всех зашедших пользователей: сведения о местоположении, ip-адрес, сведения об операционной системе (тип, язык, версия) и браузере (тип, язык, версия), тип устройства и разрешение экрана, источник, откуда пришел на сайт пользователь и какие страницы он открывает. На компьютере пользователя сохраняются файлы cookies.
Собранная информация используется для обработки статистических данных использования сайта посредством различных интернет-сервисов: Google Analytics, Яндекс.Метрика, LiveInternet, Awstats и др. Нажимая на кнопку «Я согласен», Вы подтверждаете то, что Вы проинформированы о сборе метаданных на нашем сайте и согласны с этим.
Если вы не хотите, чтобы эти данные обрабатывались, то должны покинуть наш сайт. Отключить сохранение файлов cookies Вы можете в настройках браузера.