Forums / National / Russian / Тех. поддержка / Плагин с экстраполями. Нужна помощь!

prostogorod
#1 2016-02-12 14:41

Гуру, прошу помочь! Cоздаю хук для использования экстраполей

<?php
 
/* ====================
  [BEGIN_COT_EXT]
  Hooks=admin.extrafields.first
  [END_COT_EXT]
  ==================== */
 
/**
 * multiforms Plugin for Cotonti CMF
 *
 * @package multiforms
 * @copyright (c) Cotonti Team
 */
defined('COT_CODE') or die('Wrong URL');
 
require_once cot_incfile('multiforms', 'plug');
 
$extra_whitelist[$db_multiforms] = array(
    'name' => $db_multiforms,
    'caption' => $L['Plugin'].' Multiforms',
    'type' => 'plug',
    'code' => 'multiforms',
    'tags' => array(
        'multiforms.tools.tpl' => '{MULTIFORMS_XXXXX}, {MULTIFORMS_XXXXX_TITLE}',
        'multiforms.tpl' => '{MULTIFORMS_FORM_XXXXX}, {MULTIFORMS_FORM_XXXXX_TITLE}',
    )
);

в файле functions.php прописываю 

require_once cot_incfile('extrafields');
 
cot::$db->registerTable('multiforms');
cot_extrafields_register_table('multiforms');

и когда создаю экстраполе, то оно действительно его создает но в таблице сохраняется наше название 
без имени плагина, например создали экстраполе email - оно сохрание _email, а нужно название плагина_email

Что я упустил? Спасибо!

 

esclkm
#2 2016-02-13 09:04

приведите список полей в вашем плагине

Добавлено 4 минуты спустя:

экстра поля вычисляют префиксы в остальных полях и на базе его ставят свой префикс.- видимо у первого поля в вашей базе  нет префикса

 

littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты
prostogorod
#3 2016-02-13 14:47

Вы подразумеваете под перефиксом,  $location - расположение (таблица в базе данных где будет создано экстраполе. Например: pages, projects, другое название модуля или плагина и т.д.)?

cot_extrafield_add($location, $name, $type, $html='', $variants='', $default='', $required=false, $parse='HTML', $description='', $params = '', $enabled = 1, $noalter = false, $customtype = '')

 

Macik
#4 2016-02-13 15:36

Нет, под префиксом в данном случае подразумевается та строка с которой начинаются имена полей конкретьной таблицы.
Для  таблицы `cot_page` он совпадает с названием таблицы (`page`) , а например у таблицы `cot_group` он `grp` (не совпадает с именем таблицы).
Он, как написал @esclkm, вычисляется автоматически для конкретной таблицы и поэтому попросил привести названия полей таблицы в вашем плагине.

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F