dwd

dwd

+366
Репутация
6735
Рейтинг
#2 [ЗАКРЫТО] Компонент "Языки 2.0" 11 марта 2022 в 17:08

Писал в личку, но Александр, насколько я понимаю, тоже из Украины и до личных сообщений в Инстанте сейчас не часто добирается.

Владимир Переверзев

Получил письмо от вас 8-го числа, ответил спустя 2 часа, проверяйте почту. Меня всегда можно найти написав мне письмо через форму обратной связи на сайте icms2-docs.ru

Что будете делать с этим через пару-тройку лет, когда выйдет официальная мультиязычность? То что уже сделано в движке, в этом направлении, совсем не похоже ни на один из доступных компонентов. Будете переписывать все переводы заново? И что именно планируете переводить?

Loadырь

А что собственно нужно будет по-вашему делать? На данный момент компонент лишь интерфейс для перевода, весь функционал давно системный, еще начиная с 2.13.1. Компонент создает ровно те же столбцы в БД, что и будущая системная мультиязычность(если такая конечно когда-то появится). Так что мысль интересная, но неправильная, ничего переводить заново не придется.

Компонент под кубом и привязан к домену. Без Автора Вы нечего не сделаете.

Алексей Т

1. У меня нет привычки как у некоторых кодировать все наглухо чтоб потом другие с этим мучались. Весь код, который может потребовать изменения всегда открыт

2. Ну и чисто для справки — есть замечательная версия без кодирования и привязки к домену. Об этом черным по-белому написано в каталоге дополнений инстанта.

Ну и всем высказавшимся: Компонент существует уже 5 лет и поддерживается в актуальном состоянии, полностью совместим со всеми версиями системы и шаблонами — как с шаблоном modern так и новым шаблоном админки. Чтобы вы понимали — моего интереса в рекламе и распространении данного компонента нет, стоимость чисто символическая.

Раньше вообще компонент был бесплатным и платным стал лишь потому, что больно уж много желающих поиграться нахаляву и подоставать меня глупыми вопросами не связанными с компонентом. Как создать новый язык, что такое константы и где их найти. И тд. и т.п. Так что данный ценник это просто способ отсеять таких игрунов и хоть как-то компенсировать то время, которое приходится тратить, объясняя людям как устроена мультиязычность в инстанте и рассказывая вещи, описанные в документации системы.

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

#4 Складчина на ГОТОВЫЙ компонент "Сравнение записей" 22 апреля 2021 в 11:02

Наверное, так как компонент не на основе типов контента сделан, внедрить поддержку компонента от dwd будет непросто.

Никаких проблем с интеграцией нет. Поле "SEO-Текст" это автономный механизм, который можно использовать где угодно
  1.  
  2. <?php
  3. $f = new fieldSeostring('myseo', array(
  4. 'title' => 'Если нужен то пишем заголовок поля',
  5. 'options' => array(
  6. 'pattern' => 'Тут пишем паттерн'
  7. )
  8. ));
  9. echo $f->setItem($item)->parse(1); // $item это массив полей аписи
  10. ?>
  11.  
И добавить в любой интерфейс любого компонента поле для ввода паттерна тоже не есть проблема.
#5 Ошибка после обновления 20 января 2021 в 07:47
Могу посоветовать такую последовательность действий:

1. ознакомиться — /forum/thread33935-1.html#335235
2. скачать и установить свежую версию компонента "Категории для полей"

Сперва выходит обновление системы, затем обновления компонентов, это надо учитывать. Не всегда старые версии компонентов продолжают адекватно работать на новых версиях системы. Особенно в случаях, когда релиз вносит какие-то изменения в ранее существовавшие фундаментальные правила.
#6 Ошибка после обновления 19 января 2021 в 15:45
Evanescence, я вас правильно понял. Недопонимания нет, все нормально.
А выше @dance2fast объяснил откуда нотисы.
Там просто помимо данного нотиса фатальная ошибочка присутствовала, я о ней выше писал.
#7 Ошибка после обновления 19 января 2021 в 15:41

Да я же не упрекаю ни в чем.

@dance2fast

Без миграции все хорошо работало, ее произвел и она выдала результат "не найдено полей с мультисписком".

@dance2fast
Так и я ничего против не имею и всегда готов общаться и решать все возникшие проблемы. Ошибки и нотисы в том числе нужно исправлять. Если они есть конечно. Я кстати регулярно это делаю, но в вашем случае их быть не должно. Если ваши нотисы не исчезли говорите, будем посмотреть.

Для простых списков миграция и не требуется. но у вас в нотисе присутствовало значение вида 0111000 — характерный формат хранения данных Мультисписка, отсюда и мой вывод про то, что миграции не было.
#8 Ошибка после обновления 19 января 2021 в 12:24

Автор Конструктора списков пока молчит

@dance2fast
Автор довольно редко читает форумы. Я сюда попал исключительно по ссылке из вашего письма, на которое уже ответил.

Похоже это трабл с установленным полем:
icms2-docs.ru/clientarea/product/33

@dance2fast
Не вводите людей в заблуждение, никакого трабла нет. Возникшие у вас нотисы это результат вашей же невнимательности. Вам просто лень почитать что написано на той странице на которую вы ссылаетесь. Вы заменили поле типа Мультисписок полем типа Конструктор списков. Они имеют принципиально разный формат хранения данных. Миграцию за вас я провести должен?

Касательно же вашей ошибки — она вызвана полем walking. И скорее всего вам правиьно подсказали, что данное поле является частью компонента "Прогулки".

P.S. Вот ваша строка ошибка и строка с ней
Fatal error: Uncaught Exception: DateTime::__construct(): Failed to parse time string (<time datetime="2020-10-25T23:59:00+03:00">25.10.2020</time> <span class="time">23:59</span>) at position 0 (<): Unexpected character in templates/default/controllers/walk/fields/walking.tpl.php:2
#9 [ЕСТЬ РЕШЕНИЕ] Не редактируются значения полей в 2.14 22 декабря 2020 в 14:04
"Категории для полей", версия 1.2.3
Показ полей — youtu.be/D_VtVjvPTLU
Сохранение — youtu.be/xun_8wj985c
Не знаю что к этому добавить, все работает как и должно работать.
#11 [ЕСТЬ РЕШЕНИЕ] Не сохраняются сторонние поля в версии 2.14.0 4 декабря 2020 в 17:52
Fuze, благодарю!

Evanescence, да, можно будет так задавать этот параметр. Ни и после создания формы тоже:
  1. $form->setFieldProperty($fieldset_id, $field_name, 'validate_vals', false)
#12 [ЕСТЬ РЕШЕНИЕ] Не сохраняются сторонние поля в версии 2.14.0 4 декабря 2020 в 15:20
Чтобы ситуация была более понятна и мое предложение не казалось пустой прихотью попробую обосновать.

1. имеем некий абсолютно неважно какой js-скрипт, генерирующий массив titles
2. имеем поле типа "Список", которое выводится в форме чекбоксами
Задача: добавить в каждому чекбоксу строковое поле с соотвествующим данному полю текстом из массива titles

Мое решение данной задачи состоит из 3 строк кода.

  1. $.each($('#options_catsitem input[type=checkbox]'), function(index, checkbox){
  2. title = $(this).val()] == null ? '' : titles[$(this).val()];
  3. $(this).closest('label').append('<input type="text" class="catsinput" name="options[catsitem][titles][' + $(this).val() + ']" value="' + title + '"/>');
  4. });
И возможно это только благодаря отсутствию строгой валидации. С валидацией же такой номер не пройдет и объем кода для реализации задачи вырастет не в десять, а в десятки раз. Это частный случай, но таких случаем может быть множество. И если я сознательно хочу отключить валидацию в данном конкретном случае и имею возможность это сделать, то что в этом плохого?
#13 [ЕСТЬ РЕШЕНИЕ] Не сохраняются сторонние поля в версии 2.14.0 4 декабря 2020 в 14:58
Fuze, нет желания спорить. У вас как всегда все просто. Замечу лишь что

И это правильно. Сервер не должен ожидать данных, кроме указанных в списке — мы же из доступного списка выбираем.

Ни разу это не правильно. Кто из нас программист? Я или сервер? Кому из нас виднее какие данные я хочу отправить и как их обработать?
В массовом использовании, во фронтэнде это бесспорно нужно. Но когда дело касается админки, когда я сознательно использую такой способ передачи данных зачем мне это ни разу не нужное бесплатное приложение?))
#14 [ЕСТЬ РЕШЕНИЕ] Не сохраняются сторонние поля в версии 2.14.0 4 декабря 2020 в 14:25
@noname, ужесточена проверка данных. Теперь нельзя подсунуть в форму значения, которых нет в предустановленных значениях списка. Правильно реализован алгоритм или нет спорить не буду, но это лишает разработчиков целого ряда возможностей. И именно отсюда данная проблема. Если вы заметили, то в последней версии компонента данных полей нет, эта возможность из компонента убрана. Решить данный вопрос можно только изобретая костыли. Если я не прав и кто-то знает опцию, отвечающую за валидацию значений, поправьте
Даю рецепт:
1. создаем в папке system/fields файл с именем cfdslist.php и содержимым
  1. <?php
  2.  
  3. class fieldCfdslist extends fieldList {
  4.  
  5. public $title = 'Список без валидации ключей';
  6.  
  7. public function validate_array_key($array, $value){
  8. return true;
  9. }
  10.  
  11.  
  12. }
2. Идем в папку templates/default/assets/fields, делаем копию файла list.tpl.php и переименовываем ее в cfdslist.tpl.php
3. открываем файл хука system/controllers/catfields/hooks/ctype_item_form.php, находим в нем сроку
  1. new fieldList('options:catsitem', array(
и заменяем на
  1. new fieldCfdslist('options:catsitem', array(
P.S. Если это сообщение попадется на глаза Fuze, то позволю себе внести рационализаторское предложение — добавить спискам опцию $validate_vals = true;(аналогично ряду опций типа $multiple, $dynamic_list и т.д.), отключение которой выключало бы строгую валидацию значений. Тогда не приходилось бы изобретать костыли.
#15 Фото для SEO лучше с копирайтом или без? 27 ноября 2020 в 12:51

Тут одно из двух, как я писал выше:
1. Даём украсть фото, но яндекс приводит по фото посетителей.
2. Не даём украсть фото (маркируем), но от яндекса прока нет.

Голдман Сакс
Именно для этого еще в ХХ веке придумали ватермарк.
Чтобы нельзя было написать "Источник — Яндекс-картинки"))
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.