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
 * @license https://github.com/Cotonti/Cotonti/blob/master/License.txt
 */
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