не работает функция обработки HTML поля фильтрами в УК

#1 8 августа 2013 в 05:31
Не работает функция обработки HTML поля фильтрами в УК. Вместо формы вылазит визуальный редактор. помогите решить.
Иллюстрация
Иллюстрация
#2 8 августа 2013 в 08:02
В файле components/catalog/frontent.php строка 730, есть условие для начала обработки фильтрами
  1. if (isset($htmlfield)) {
  2. if ($makelink) {
  3. $field = $inCore->getUCSearchLink($cat['id'], null, $key, strip_tags($field));
  4. } else {
  5. //PROCESS FILTERS, if neccessary
  6. if ($cat['filters']){
  7. $filters = $inCore->getFilters();
  8. if ($filters){
  9. foreach($filters as $id=>$_data){
  10. require_once PATH.'/filters/'.$_data['link'].'/filter.php';
  11. $_data['link']($field);
  12. }
  13. }
  14. }
  15. $field = stripslashes($field);
  16. }
  17. }
И если переменная $htmlfield не установлена — Обрабатывать html фильтрами, то обработка не производится.
Инвертируй условие и провериш .
А также возможно:
1-Ошибки файла frontend
2-Ошибки файла фильтра
3-Ошибки в базе данных фильтра
4-Фильтр отключен
#3 8 августа 2013 в 08:24
забыл сказать что проверял на чистых 1.10.1 и 1.10.2, все тоже самое.
в 1.10.2 эти строки начинаются с 701 строки, жаль я не программист, и из слов "Инвертируй условие и провериш" oll'а, ничего не понял…
#4 8 августа 2013 в 09:00
trOid, а зачем в название поля вы вставляете комбинацию фильтра? Быть может стоит написать название нормально, а в тело (в вашем случае html редактор) вставлять фильтр?)
#5 8 августа 2013 в 10:02
trOid, я как понимаю Вы хотите вставить дополнительные поля для конкретноо товара в каталоге? или хотите всётаки вставить на каждой странице объекта из каталога форму для отправки сообщения?
#6 8 августа 2013 в 10:13
Fuze, да, мой косяк. не подумал об этом. но блин почему в доске объявлений все организовано нормально, имею ввиду привязка формы к полям, а тут без костылей не обойтись.
Amurland, да, я хотел настраиваемые поля из конструктора добавить к полям, например выпадающий список.
#7 8 августа 2013 в 10:45
trOid, потому что в каталоге поля и так можно создавать сколько угодно в настройках рубрик
#8 8 августа 2013 в 11:15
Fuze, это понятно что сколько угодно, но там не подключить например выпадающий список. у меня к примеру пользоваттели будут добавлять информацию в каталог. они ведь не могут в текст добавлять формы
#9 8 августа 2013 в 11:44
trOid, тогда надо (и проще) написать небольшой хак, который бы добавил новую характеристику — список.
#10 9 августа 2013 в 19:56
Прозрение!!! А что мешает обработать фильтром и ключ и значение массива? И можно вводить так как ГЕНИАЛЬНО — и нехотя trOid, придумал.Хорошая мысль.
#11 9 августа 2013 в 21:21
Черновой вариант:
  1. if (isset($htmlfield)) {
  2. if ($makelink) {
  3. $field = $inCore->getUCSearchLink($cat['id'], null, $key, strip_tags($field));
  4. } else {
  5. //PROCESS FILTERS, if neccessary
  6. if ($cat['filters']){
  7. $filters = $inCore->getFilters();
  8. if ($filters){
  9. foreach($filters as $id=>$_data){
  10. require_once PATH.'/filters/'.$_data['link'].'/filter.php';
  11. $_data['link']($field);
  12. }
  13.  
  14. }
  15. }
  16. $field = stripslashes($field);
  17. }
  18. } else {
  19. if ($makelink) {
  20. $field = $inCore->getUCSearchLink($cat['id'], null, $key, $field);
  21. }
  22. }
  23.  
  24. }
  25. //Обрабатываем фильтрами названия полей
  26. $filters = $inCore->getFilters();
  27. foreach($filters as $id=>$_data){
  28. require_once PATH.'/filters/'.$_data['link'].'/filter.php';
  29. $_data['link']($value);
  30. }
  31. //end
  32. $fields[stripslashes($value)] = stripslashes($field);
#12 10 августа 2013 в 04:47
спасибо! Затестим :)
#13 25 апреля 2014 в 12:14
Здравствуйте, скажите, как Вы решили данную проблему?
#14 25 апреля 2014 в 12:34
Alibek, попробуйте. Мне так и не удосужилось протестить. Уволился :)
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.