S

SergeySheff

+6
Репутация
3
Рейтинг
#1 Ищу разработчика для компонента “Мультивыбор с автоподбором” 30 января 2024 в 19:42

Стандартные поля “список” и “список мультивыбор” прекрасно справляются с небольшим количеством значений в списке, но в моём случае значений очень много, плюс нужно чтобы пользователь мог добавить своё значение, а отображение значений в списке должно зависеть от выбранного значения в другом списке. Я начал искать альтернативные компоненты и нашёл прекрасный компонент, который полностью покрывал мои потребности пока не возникла необходимость внедрения мультиязычности. Как оказалось переделать компонент под мультиязычность и отделаться “малой кровью” не получится, рассмотрев другие варианты пришёл к выводу что в большинстве случаев мне нужен не список значений, а более универсальное поле с автокомплитом. Но ввиду того, что в некоторых случаях пользователю нужно дать возможность выбирать несколько значений как в форме, так и в фильтре простой автокомплит не подошёл. В итоге я пришёл к выводу что мне нужен автокомплит с мультивыбором которое будет подбирать значения по заданным для каждого поля параметрам. Готовых решений я не нашёл.

Время шло, а я искал альтернативу и наткнулся на компонет.

icms2-docs.ru/clientarea/product/14

На видео есть актуальная его версия icms2-docs.ru/clientarea/product/19

Добавлю скриншоты(надеюсь автор не против, а администрация не сочтёт за рекламу):

Изображение

Изображение

Изображение

После ознакомления с компонентом гео и полем автопобором и появилась идея сделать подобное поле автоподбора с мультивыбором и использовать его совместно с другим компонентом управления списками. Далее опишу то, что оно должно из себя представлять. 

В настройках поля указывается:

1. Функция — определять текущий интерфейс пользователя и фильтровать значение по значению в столбце:

столбец ( содержит одноименную двухбуквенную языковую кодировку).

Если автоматическое определение языка выключено то вносится значение вруучну — ru, en

Если параметр пустой то отображаются значения на всех языках

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

Это не во всех случаях, поэтому нужна гибкость в настройках.

2. значение для записи в бд

3. значение столбца по которому фильтровать значения.

4. Функция — и/или для фильтрации

5. Функция — с мультивыбором или без в форме

6. Функция — с мультивыбором или без в фильтре

7. Порядок сортировки значений производится по алфавиту.

8. Отображать поле в указанных категория.

9. Вводимая фраза обязательно должна быть началом строки (Да/нет)

При подборе значений будут показаны только те значения, где данная комбинация символов является начальной. Значения, где фраза встречается в средине строки будут пропущены.

10. зависимость поиска от значения, выбранного в другом поле:

-системное имя поля текущего тк.

— название столбца в таблице по которому искать совпадение.

Если такую зависимость сделать невозможно, то не делаем.

Важно! Если параметры фильтрации подборки значения не заданы то выборка происходит без их учёта.

Для пользователя это выгляит как поле список мультивыбор (как на десктопе, планшете, так и смартфоне)

То есть на смартфоне должна остаться функция ввода и поиска значений.

По функции добавления значения пользователем — думаю нужно в некоторых случаях ограничить возможность на уровне групп пользователей. Если у пользователя нет прав на добавление то вместо списка со значениями будет написано — «ничего не найдено». Если всем дать добро на добавление значений то боюсь появится много синонимов.

В моём случае, к примеру должность Second Officer можно написать так :

2nd. Officer

2-nd Officer

2 Off

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

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

Чуть не забыл, и ещё хотел такими функциями наделить поле заголовок (дополнительно).

Из вариантов:

1.      Сделать отдельное универсальное поле “Мультивыбор с автокомплитом” которое будет работать совместно с другими таблицами.

2.      Делать компонент + поле

В итоге это будет выглядеть скорей как теги нежели как списки.

Так же есть более подробное т.з. Я на связи в л.с. Кто то возьмётся за это или есть альтернативы и готовые решения?

#1 Не формируются мета теги на странице при включенной автоматической генерации 7 февраля 2023 в 10:41

Добрый день,

Очередной вопрос по мета тегам. Многие задают подобный вопрос но не получают ответа потому что суть вопроса размыта. Постараюсь описать проблему как вижу ее я.

Давно заметил что не формируются мета теги на странице записи типа контента когда включена автоматическая генерация тегов в настройках типов контента.

При первом обнаружении проблемы начал использовать паттерны. Мета тег description формировался из поля с содержимым статьи, но в дальнейшем заметил что в таком случае в теге оторбражается все содержимое поля (HTML текст) что приводит к уменьшению скорости формирования страницы и к ошибкам со стороны поисковиков. К примеру Bing считает длинный мета тег критической ошибкой. 

Сегодня снова решил поэксперементировать с тегами. В форуме нашел информацию что начиная с определенной версии скрипта теги не записываются в бд а формируются на лету если включена автоматическая генерация. Да, действительно, в БД ничего не записывается, прописан «NULL». Тег записывается если вводится руками. 

Но! Почему тег не отображается в head страницы когда включена автоматическая генерация и не добавлены паттерны?

К примеру, на демо версии скрипта 

demo.instantcms.ru/news/10-glavnye-tendencii-sezona-vesna-leto-2021.html

В настройках типа контента выставлена автоматическая генерация тегов но сами теги не отображаются

Изображение

Аналогичная ситуация и у меня.

Выставил автоматическую генерацию мета тега description  без паттерна  -  тега нет.

Добавил руками — тег появился.

Добавил паттерн — тег появился но его длину контролировать не могу.

Баг это или нет? 

Если да то как исправить? 

Главным вопросом остается:

Как сделать так, чтобы тег description формировался без паттерна и был адекватной длины?

#3 Локализация InstantCMS 29 апреля 2022 в 12:32

 SergeySheff, закройте от индексации все страницы с префиксом языка. Оставьте только основной.

Loadырь

Спасибо за совет, попробую!

#4 Локализация InstantCMS 29 апреля 2022 в 09:41

Этот вопрос надо адресовать автору того компонента, которым пользуетесь для мультиязычности.

Правильно должно быть как-то так:

Если известен язык браузера, то он считается основным, если не известен, то основным считается выбранный в настройках сайта. Сайт открывается для всех (боты, гости, пользователи, админы и т.п.) на основном языке (как определяется основной — читайте в предыдущем предложении). Все эти префиксы языков кроме основного языка должны выдавать каноникал на основной язык (без префикса). А дальше, если бот укажет с каким он пришел языком, то ему выдастся основной сайт на указанном языке, если не укажет, то на языке по умолчанию.

Loadырь

Loadырь
Добрый день,

Спасибо за ответ. Частично проблема решена обновлением хрома до последней версии после чего все пользователи ведут себя одинаково, но до конца к сожалению так и не разобрался. Никакие сторонние дополнениния не используются, включена штатная мультиязычность. Пару лет назад использовать сторонний компонент, но он был полностью удален.

Чтобы не быть голословным приведу пример (речь идет не про язык статьи):

Напомню — язык по умолчанию EN

I. Проверяем браузер

Язык браузера русский:

Страница crewtraffic.com/posts/153-ism-questions-and-answers.html   на русском

Страница crewtraffic.com/en/posts/153-ism-questions-and-answers.html на английском

Страница crewtraffic.com/ru/posts/153-ism-questions-and-answers.html   ошибка 404

Язык браузера английский:

Страница crewtraffic.com/posts/153-ism-questions-and-answers.html  на английском

Страница crewtraffic.com/ru/posts/153-ism-questions-and-answers.html   на русском

Страница crewtraffic.com/en/posts/153-ism-questions-and-answers.html  ошибка 404

II. Данные c search console

Страница crewtraffic.com/posts/153-ism-questions-and-answers.html

ИзображениеИзображение

Страница crewtraffic.com/ru/posts/153-ism-questions-and-answers.html

Изображение

Страница crewtraffic.com/en/posts/153-ism-questions-and-answers.html

Изображение

III. Проверяем недавно проиндексированную страницу гуглом

Изображение

Ссылка на страницу из поиска:

crewtraffic.com/ru/news/maritime

Перейдя по ней с браузера на русском получаю 404

Перейдя по этой же ссылке с браузера на английском получаю ответ 200 ок

Получается что в индексе 1 страница с префиксом ру на которую невозможер перейти.

На мой взгляд если язык по умолчанию EN то страниц с префиксом en вообще не должно быть а страницы с префиксом ру должны открываться при любом языке браузера, вроде бы так было до какого то релиза cms (версию не помню)

Так жи и если язык по умолчанию RU то не должно быть страниц с префиксом ru а должны быть с префиксом EN. На демо сайте инстант язык по умолчанию выран Ru, страницы с префиксом ru доступны, с en нет в случае когда браузер на русском 

Возможно, конечно, гугл проиндексирует и страницу без префикса и тогда станет ок, но пока что он этого не делает и возникает такая ситуация что странца в индексе есть, но зайдя с рус браузера получаешь 404

Понаблюдаю.

#1 Локализация InstantCMS 29 апреля 2022 в 01:36

C недавних пор заметил одну особенность:

Язык на сайте по умолчанию EN, язык браузера RU

Если зайти как гость или обычный пользователь (не администратор) то страницы сайта доступны с префиксом /en/ — это будет английская версия сайта. Без префикса — русская. Страницы с префиксим ru ведут на 404 страницу

На мой взгяд вполне логично наоборот, как указано ниже в случае с админ аккаунтом:

Если залогиниться админом то ссылки с префиксом en ведут на 404 страницу а с префиксом ru на русскоязычную версию сайта.

Если меняем язык браузера на английский то при тех же настройках страница с префиксом ru ведет на нужную страницу.

Все бы ничего но:

Гугл проиндексировал новые страницы с префиксом ru и гостевой пользователь, если у него язык браузера русский, попадает на 404 страницу. При этом другие версии страницы отстутствуют в индексе

Так же если делать проверкку URL в search console, страница с префиксом ru так и без доступна боту а с префиксом en не доступна.

Соответсвенно страницы с префиксом ру будут индексироваться далее но они почему то не доступны гостевым или обычным пользователям если язык браузера русский.

Я понимаю так не должно быть?

#1 Возможность задания шаблона только для главной страницы InstantCMS 2.X 5 июля 2020 в 09:09
Возникла необходимость задать отдельный шаблон главной страницы для гостей.
Нашел решение для первой ветки /blogs/uluchshenija/vozmozhnost-zadanija-shablona-tolko-dlja-glavnoi-stranicy-polnaja-versija.html
Люди добрые, умные, будьте добры, подскажите как соорудить подобное для второй ветки? Правок в файлах ядра будет достаточно, выбор шаблона в админке это лишнее.
#7 [ЕСТЬ РЕШЕНИЕ] Ошибки в Биллинге для ICMS 2 6 июня 2017 в 10:31
Вопрос про историю операций:

В мануале docs.instantcms.ru/manual/components/billing/log написано следующее

Колонка «Стоимость» заполняется только у тех операций, которые имеют отношение к реальным деньгам, т.е. при вводе и выводе средств.

А если я как администратор пополняю пользователю баланс, эта колонка не заполняется?
Как тогда быть с выводом этих средств? Логичным будет если стоимость будет указана за все операции.
Или пользователь не может подать заявку на вывод средств которые не имеют отношение к "реальным деньгам"?
#8 [ЕСТЬ РЕШЕНИЕ] Ввод средств в биллинге 6 июня 2017 в 10:16


У меня так:

SergeySheff

Отключите сжатие js и css файлов и минимизацию html. Эту проблема обнаружена год назад… Вот еще баги Биллинга

Андрей

Действительно, дело именно в этом!
Спасибо большое!
#1 [ЕСТЬ РЕШЕНИЕ] Ввод средств в биллинге 6 июня 2017 в 09:50
Здравствуйте!

Столкнулся со следующей проблемой — не могу назначить цену за внутреннюю валюту биллинга.

У меня так:


А должно быть вот так:


Как с этим бороться?
#10 Связи типов контента. Вопрос сортировки прикрепленных записей в записи 14 мая 2017 в 18:25


так в виджете же есть настройка системная, позволяющая вывести сортировку из набора

yury


Настройка есть, но она не работает, выдаёт ошибку

Ошибка в запросе БД:
Ключ 'date_pub' не существует в таблице 'i'

SELECT i.*, c.name as ctype_name, c.title as ctype_title, c.id as ctype_id
FROM cms_content_relations i
FORCE INDEX (date_pub)
LEFT JOIN cms_content_types as c ON c.id = i.ctype_id
WHERE (i.child_ctype_id = '6')
ORDER BY i.date_pub asc


Виджет установлен на стрице просмотра записи

Вот настройка виджета

#11 Связи типов контента. Вопрос сортировки прикрепленных записей в записи 14 мая 2017 в 09:56
Думал в виджете получится применить набор, не получилось, пишет следующее:

DB query error:
Key 'date_pub' doesn't exist in table 'i'

SELECT i.*, c.name as ctype_name, c.title as ctype_title, c.id as ctype_id
FROM cms_content_relations i
FORCE INDEX (date_pub)
LEFT JOIN cms_content_types as c ON c.id = i.ctype_id
WHERE (i.child_ctype_id = '35')
ORDER BY i.date_pub asc
#12 Продление срока публикации 9 мая 2017 в 17:35


Это так задумано?

SergeySheff
Нет, у меня всё работает.

Lora

У вас такое тоже не работает! Наверно мне следовало добавить — продлить срок публикации до окончания срока публикации!

Это нужно для того если пользователь опубликовал статью на 10 дней, а потом захотел продлить срок публикации до окончания указанного ранее им срока или узнать до какого числа публикуется запись, как по мне то это нормальная функция!

Для того чтобы заработало, необходимо в файле system/controllers/content/frontend.php
в строке 784
$is_expired = (strtotime($item['date_pub_end']) — time()) <= 0;

заменить "<" на ">", т.е чтобы запись была как бы постоянно не опубликована.

Я почему то думал это идет по умолчанию, а оказывается нет
#13 Продление срока публикации 9 мая 2017 в 11:23
Создал такой же новый хостинг, установил последнюю версию cms, но продление срока публикации так же не работает, может это как то с хостингом связано???
#14 Продление срока публикации 8 мая 2017 в 16:20
Помогите пожалуйста кто-нибудь!!!
#15 Продление срока публикации 8 мая 2017 в 10:30
Заметил то, что когда в доступе выбираешь "Выбор срока окончания публикации" — любая дата, в этом случае продление срока публикации работает. Но при таком способе почему то не работает оплата за дни публикации через биллинг! Как такое возможно?
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.