
jorgovich
+85
Репутация
116
Рейтинг
При всем уважении, но что вы так прицепились к кнопке, у Вас есть все инструменты чтобы сделать свое поле, создайте поле текст HTML выключите редакторы — да кидайте в это поле любой html код хоть с ютуба, хоть с контакта, вообще откуда угодно…
Так если по существу тоже не хватает грамотно сделанного виджета с фильтрами...
Метод который использую я не очень корректен, но за неимением и неумением в принципе рабочий вариант верстальщик с самыми небольшими знаниями php сможет реализовать думаю..
1. Подготавливаем отдельный виджет для фильтров
2. Делаем несколько шаблонов по принципу и наподобие виджета вывода чистого html.
3. Копируем нтмл код формы фильтра со страницы нашего контента в шаблон(ы) нашего виджета.
4. На action html вешаем страницу с типом контента.
Как то так, работает но так как это чистый хтмл то не сохраняет выбранные позиции в фильтре после перезагрузки страницы, по хорошему нужно на php писать вывод полей… Но как говорится лучше чем ничего.
Или вариант совсем проще копируете хтмл код фильтра, вставляете в виджет вывода html, action="/ваш_тип_контента" — правда в этом случае может сработать ограничение на кол-во симбволов.
Метод который использую я не очень корректен, но за неимением и неумением в принципе рабочий вариант верстальщик с самыми небольшими знаниями php сможет реализовать думаю..
1. Подготавливаем отдельный виджет для фильтров
2. Делаем несколько шаблонов по принципу и наподобие виджета вывода чистого html.
3. Копируем нтмл код формы фильтра со страницы нашего контента в шаблон(ы) нашего виджета.
4. На action html вешаем страницу с типом контента.
Как то так, работает но так как это чистый хтмл то не сохраняет выбранные позиции в фильтре после перезагрузки страницы, по хорошему нужно на php писать вывод полей… Но как говорится лучше чем ничего.
Или вариант совсем проще копируете хтмл код фильтра, вставляете в виджет вывода html, action="/ваш_тип_контента" — правда в этом случае может сработать ограничение на кол-во симбволов.
Вопрос закрыт сделали, конечно не очень красивое, но рабочее решение, использовал апи яндекса непосредственно в шаблоне типа контента.
Шаблон правленый дефолт, т.е фактически взял дефолт и переправил под свои стили, глобальные изменения только в добавленные свои типы контента в основном это шаблоны тип_контента_list.tpl.php и тип_контента_item.tpl.php, файлы поля multilist.tpl.php я добавил
Loadырь, да нет в чем то другом дело, я же не полностью заменял а мержил файлы, собственно мои контроллер и модели файлы пока были без правок от оригинала 2.1.2 не отличаются, тут похоже что то другое влияет, у меня на одном сайте тоже сработало, а вот на другом не хочет
В модель я добавил только это:
В контроллере заменил это
на это
А вот при полной замене с данными файлами у меня почему то вообще рушится в белый экран без объяснения причин…
В модель я добавил только это:
public function filterMultiIn($field, $value){ $this->filterStart(); foreach($value as $k=>$v){ $v = $this->db->escape($v); $this->filterOr()->filter("locate('{$v}',{$field})>0"); } $this->filterEnd(); return $this; }
public function validate_array_key($array, $value){ return true; }
Остальные файлы добавил, плюс 2 строчки в языковой… Все верно же?
А вот при полной замене с данными файлами у меня почему то вообще рушится в белый экран без объяснения причин…
А вот во втором случае у меня не работает, вот что пишет при включенной отладке
Ошибка в запросе БД:
BLOB/TEXT column 'kommunikacii' used in key specification without a key length
ALTER TABLE `cms_con_doma` CHANGE `kommunikacii` `kommunikacii` text NULL DEFAULT NULL
Последние вызовы:
updateContentField() @ /public_html/system/controllers/admin/actions/ctypes_fields_edit.php: 68
run()
call_user_func_array() @ /public_html/system/core/controller.php: 276
runExternalAction() @ /public_html/system/core/controller.php: 207
runAction()
call_user_func_array() @ /public_html/system/core/action.php: 29
__call() @ /public_html/system/controllers/admin/actions/ctypes.php: 9
runAction() @ /public_html/system/controllers/admin/actions/ctypes.php: 9
run()
call_user_func_array() @ /public_html/system/core/controller.php: 276
runExternalAction() @ /public_html/system/core/controller.php: 207
Это при изменении типа поля,
при добавлении нового аналогично:
Ошибка в запросе БД:
BLOB/TEXT column 'kommkd' used in key specification without a key length
ALTER TABLE `cms_con_doma` ADD INDEX ( `kommkd` )
Последние вызовы:
addContentField() @ /public_html/system/controllers/admin/actions/ctypes_fields_add.php: 52
run()
call_user_func_array() @ /public_html/system/core/controller.php: 276
runExternalAction() @ /public_html/system/core/controller.php: 207
runAction()
call_user_func_array() @ /public_html/system/core/action.php: 29
__call() @ /public_html/system/controllers/admin/actions/ctypes.php: 9
runAction() @ /public_html/system/controllers/admin/actions/ctypes.php: 9
run()
call_user_func_array() @ /public_html/system/core/controller.php: 276
runExternalAction() @ /public_html/system/core/controller.php: 207
Возникает эта ошибка при добавлении в тип контента самого поля — список с множественным выбором
Ошибка в запросе БД:
BLOB/TEXT column 'kommunikacii' used in key specification without a key length
ALTER TABLE `cms_con_doma` CHANGE `kommunikacii` `kommunikacii` text NULL DEFAULT NULL
Последние вызовы:
updateContentField() @ /public_html/system/controllers/admin/actions/ctypes_fields_edit.php: 68
run()
call_user_func_array() @ /public_html/system/core/controller.php: 276
runExternalAction() @ /public_html/system/core/controller.php: 207
runAction()
call_user_func_array() @ /public_html/system/core/action.php: 29
__call() @ /public_html/system/controllers/admin/actions/ctypes.php: 9
runAction() @ /public_html/system/controllers/admin/actions/ctypes.php: 9
run()
call_user_func_array() @ /public_html/system/core/controller.php: 276
runExternalAction() @ /public_html/system/core/controller.php: 207
при добавлении нового аналогично:
Ошибка в запросе БД:
BLOB/TEXT column 'kommkd' used in key specification without a key length
ALTER TABLE `cms_con_doma` ADD INDEX ( `kommkd` )
Последние вызовы:
addContentField() @ /public_html/system/controllers/admin/actions/ctypes_fields_add.php: 52
run()
call_user_func_array() @ /public_html/system/core/controller.php: 276
runExternalAction() @ /public_html/system/core/controller.php: 207
runAction()
call_user_func_array() @ /public_html/system/core/action.php: 29
__call() @ /public_html/system/controllers/admin/actions/ctypes.php: 9
runAction() @ /public_html/system/controllers/admin/actions/ctypes.php: 9
run()
call_user_func_array() @ /public_html/system/core/controller.php: 276
runExternalAction() @ /public_html/system/core/controller.php: 207
Ура на чистой системе сработало, спасибо Loadырь, щас попробую поставить на систему с изменениями
Loadырь, ссылка на конфиг php5.3
Loadырь, что-то не выходит при добавлении поля в тип контента выкидывает на белый экран, сначала попробовал на уже установленной с изменениями системе не получилось, потом протестировал на чистой системе 2.1.2, результат один.
eoleg,
при добавлении контента будет виден выпадающий список — х1 х2 х3 и будет виден х4
При просмотре после добавления без применения фильтра список выдает все поля т.е одно из значений х1 х2 х3 х4 которое было выбрано
С применением фильтра выдаст искомые
при добавлении контента будет виден выпадающий список — х1 х2 х3 и будет виден х4
При просмотре после добавления без применения фильтра список выдает все поля т.е одно из значений х1 х2 х3 х4 которое было выбрано
С применением фильтра выдаст искомые
Все просто ставьте конструктор форм, вешайте на ссылку адрес формы через class="ajax-modal"
Вопрос такой насколько я понял из доков скрытое поле можно использовать для расчетов, если так поясните как правильно его использовать, на примере — я хочу вывести небольшой расчет по формуле:
$a = $item['cena'] * $item ['ploshad'];
Если использую числовые поля то все нормально считается, но если я задаю $item ['ploshad'] через скрытое поле в предустановленных значениях ставлю число то не считает, данный пример использую в шаблоне default_item.tpl.php...
Просто мне нужен расчет при котором первое значение нужно заводить а второе используется одинаковое для всех записей, но при этом его можно поменять в админке. Если я правильно все понял про скрытое поле то тогда это то что мне нужно… Вот только как его ввести в расчет?
$a = $item['cena'] * $item ['ploshad'];
Если использую числовые поля то все нормально считается, но если я задаю $item ['ploshad'] через скрытое поле в предустановленных значениях ставлю число то не считает, данный пример использую в шаблоне default_item.tpl.php...
Просто мне нужен расчет при котором первое значение нужно заводить а второе используется одинаковое для всех записей, но при этом его можно поменять в админке. Если я правильно все понял про скрытое поле то тогда это то что мне нужно… Вот только как его ввести в расчет?
Спасибо Loadырь, как всегда выручаете, попробую использовать…
r2,
Вам картина виднее, но как вариант можно попробовать так, где то я это видел не помню в какой системе примеительно к инстанту: в базе тип_контента — fields значение values массив из строк впереди можно добавить цифровое значение чтобы сделать привязку к поиску значений и соответствия, в базе тип_контента несколько значений такой же массив из строк куда мы записываем массив при добавлении — совпадения ищем по цифровому значению откинув сибволы после определенного симбвола, например массив в базе тип_контента_поля: 1`значение, 2`значение, 3`значение, при создании записи добавляем симбволы до ` в массив в типе_контента 1(значение 1) 3(значение 3) — при выводе наоборот, при выводе в фильтре делаем сравнение если есть совпадение по одной из искомой выводим запись. Как то так, так же смотрю разные решения…не придумал как лучше
Уважаемые разработчики наверно все столкнулись с необходимостью вывода списка чекбоксов — списка множественного выбора, в системе есть поле список и множественный вывод в фильтре — но нет возможности задать несколько значений при добавлении контента, так же в системе есть поле несколько значений — но по какой то причине выключено в списке общих полей, кто нибудь разбирался и нашел решение к данному затруднению?