WebMan

WebMan

В данный период я не оказываю услуг и не занимаюсь сторонними разработками
+434
Репутация
6110
Рейтинг
+2
WebMan WebMan Поговорим про мультиязычность инстанта 1 месяц назад

Идея интересная и полезная. Такой компонент вполне можно было бы встроить в раздел «Дополнения».

Что нужно доработать для этого, на мой взгляд:

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

Предыдущие переводы. Для новых версий использовать (автоматически подставлять) перевод от предыдущей версии, если это возможно, и показывать константы, оставшиеся без перевода. Это можно делать разово, например, при создании новой версии перевода на выбранный язык. Также придётся сделать проверку констант на изменение по сравнению с предыдущей версией — вдруг какую-то константу изменили.
 

Статистика по папкам и в целом. В списке папок стоит добавить колонки с количеством оставшихся не переведённых констант во всех файлах этой папки и её подпапок и с процентом перевода этой папки, включая вложенные подпапки. Это нужно чтобы переводчик наглядно видел, где и сколько осталось перевести, а не перебирал все папки и файлы в поисках оставшихся недоделок. И на основной странице перевода показывать то же самое суммарно по этой версии перевода (по всем файлам). Также в списке версий перевода можно показывать всем посетителям кто переводчик и на какой процент завершена работа.

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

Версии пакетов. При необходимости что-то изменить в уже созданном пакете проходим всю цепочку заново: новая заявка от переводчика, исправление ошибок и перегенерация пакета. На странице языка возле версии движка нужно будет отображать дату и время создания последнего пакета. Это же время и дату в каком-то общепринятом формате (например, ГГГГММДД-ЧЧММСС) добавлять в имя файла пакета. Это нужно чтобы пользователи легко понимали, были ли изменения в пакете с момента его последнего скачивания.
 

Перевод с помощью ИИ. В идеале, в режиме редактирования можно добавить кнопки перевода с помощью ИИ: «Перевести весь файл» и «Перевести все константы без перевода» над списком констант. А также кнопки-иконки «Перевести константу» справа возле кнопок редактирования и очистки. Это ещё больше упростит работу переводчика, останется лишь проверить корректность перевода. Но это красивая хотелка на будущее.
 

Хранение. Переводы лучше хранить в файлах, согласен. А данные по версиям и статистике отлично лягут в БД в таблицы компонента.
 

Работы, конечно, ещё много. Зато это позволит подключить сообщество к переводам, сильно упростит работу переводчиков и в итоге сделает InstantCMS ещё более популярной в мире.

0
WebMan WebMan Тиккет система силами движка. Оповещения на сайте 3 года назад

Про нарушения Вам уже объяснили, повторять нет смысла. Попробуйте перечитать и понять.

В Документации вообще мало описаний методов и свойств классов. Зато в коде много комментариев. Да и сам код чистый, легко читается. Попробуйте разобраться в нём и сделать описание нескольких классов. Это же опенсорс система, создаётся и поддерживается многими людьми. Почему бы Вам вместо претензий о нехватке чего-то не пополнить достижения сообщества своим трудом и добавить недостающее?

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

Просьбу Вы не сформулировали. И это, кстати, зря. Минимально нужно было спросить: а всё ли годится для публикации, может кто-то что-то подскажет? То есть, именно то что Вы сейчас делаете в комментариях. Очевидно, что решение хотя и рабочее в Вашем конкретном случае, но не готовое и не полноценное.

У меня нет описания методов класса modelComments и писать его я не предполагаю. Там код достаточно простой, заинтересованные программисты поймут.

Если у Вас «нет времени» разбираться в Двойке и в теме поста, то это ещё один повод делать публикацию не Форуме, а не в блоге.

0
WebMan WebMan Тиккет система силами движка. Оповещения на сайте 3 года назад

Во-первых, Захар, Вы же достаточно взрослый, чтобы читать и соблюдать правила ресурса? ;-)

Во-вторых, а других вариантов Вы не признаёте? Только или разрешить нарушать правила, или забанить? ;-)

Давайте попробуем поискать третий вариант: соблюдать правила и получить помощь одновременно.

Вам модератор уже подсказал, что:

1. Это не готовое решение, оно не даёт полный желаемый результат.

2. Такой подход неэффективен и может запутать читателей Вашего блога. Вы же этого не хотите? Вы же хотите помочь людям?

Поясню. Прямое обращение к БД лучше не использовать, от этого теряется совместимость и читабельность кода. Так же лучше не писать свой код там, где уже есть готовые методы в CMS. Например, для добавления подписки на камент есть метод modelComments->addTracking(). Этот и другие методы для работы с подписками на каменты можно найти поиском названия таблицы 'comments_tracks' по коду системы.

Оба пункта нарушают правила блогов на этом ресурсе. Поэтому такие публикации лучше делать на форуме с вопросом/просьбой подсказать какие-то конкретные нюансы.

0
WebMan WebMan Оповещения на сайте 3 года назад

Размышления приветствуем! На форуме в подходящей ветке или во «Флуде», если такой ветки нет. Форум — это и есть большое коллективное обсуждение.

В блоге выкладывают готовые решения или ответы на какую-то тему.

0
WebMan WebMan «Расширенная отладка» для InstantCMS 2.14.1 (v.14.1.2) – большое обновление для разработчиков 4 года назад
Тому, кто знает куда и как смотреть, любой инструмент кое-что полезное покажет. joke
Но это не волшебный автомат, решающий любые задачи за пользователя.

По сути. Причин описанной Вами ситуации может быть много, а для анализа разных причин нужны разные инструменты. Начните с "Инструментов разработчика" в браузере для выяснения, что происходит с кнопкой в коде страницы. Если источник проблемы окажется на стороне сервера, тогда и "Расширенная отладка" сможет пригодится.
0
WebMan WebMan «Расширенная отладка» для InstantCMS 2.14.1 (v.14.1.2) – большое обновление для разработчиков 4 года назад
Спасибо! Заменил пакеты установки и обновления в "Каталоге". Перекачайте заново или просто исправьте опечатку у себя (версия не менялась).
+1
WebMan WebMan Хуки-хухуки: Добавляем ссылки под заголовки виджетов 4 года назад
Объяснить работу Двойки лучше, чем это сделали разработчики в " Документации" я не смогу smile
Максимум, на что меня хватит - несколько примеров с картинками, что я и делаю.
В первом своём каменте Вы уже привели ссылку на пост про схему работы движка Двойки, он как раз и показывает как "Всё начинается в index.php...".
+3
WebMan WebMan Хуки-хухуки: Добавляем ссылки под заголовки виджетов 4 года назад
Спасибо за идею! Чуть позже добавлю список своих основных постов, сгруппированных по темам.
0
WebMan WebMan «Расширенная отладка» для InstantCMS 2.14.1 (v.14.1.1) 4 года назад
Заметил, что при редактировании виджетов со стороны фронтенда во всплывающее окно опций виджета выводится инфа отладки.
Уберу это в следующем обновлении.
+5
WebMan WebMan Хуки-хухуки: Как создать свой компонент для хуков? 4 года назад
Та я продолжу парой примеров - не вопрос. Лишь бы у вас хватило смелости и терпения попробовать сделать своё на базе прочитанного. joke
0
WebMan WebMan Что такое события и хуки (без PHP и с картинками) 4 года назад
Пожалуйста! Не поверите, MS Word smile
0
WebMan WebMan «Расширенная отладка» для InstantCMS 2.14.1 (v.14.1.0) 4 года назад
Спасибо за отзыв!
Если будут вопросы - задавайте.
0
WebMan WebMan Хак: Оптимизация инклудов в InstantCMS 2.0.1 (v.1) 4 года назад
Замечательно обстоят. smile Вся эта оптимизация уже давно присутствует в дефолтном движке. И даже намного больше.
0
WebMan WebMan Универсальные логины и авторизация в ICMS 2 v.6 – открытое тестирование 5 лет назад
Видимо, это было нужно недостаточному количеству пользователей.
В версии 2.13 появилась фича "Форма авторизации теперь системная. Можно изменять хуками как угодно". Можно ли авторизоваться по другому полю, кроме почты, и что для этого нужно сделать - я ещё не выяснял. Возможности заменить числовые id на красивые строковые значения в адресах профилей пользователей точно нет.
0
WebMan WebMan «Расширенная отладка» для InstantCMS 2.3.0 (v.10) + оптимизация скорости 5 лет назад
Да, с новыми версиями не работает. "Расширенная отладка" делалась на этапе развития движка под каждую версию отдельно и уже давно не обновляется, так как InstantCMS2 и так уже очень хорошо оптимизирован, а также имеет многие фичи этой отладки в "коробке".
0
WebMan WebMan Smart Шаблон на Bootstrap 4, Первое знакомство 6 лет назад
Все настройки хранятся в базе данных
И вытаскиваются оттуда все сразу за один раз одним запросом?
+1
WebMan WebMan Smart Шаблон на Bootstrap 4, Первое знакомство 6 лет назад
Классная идея! Однозначный плюс!
Почему бы не разрешить галку "Занимать всё свободное место" для любых блоков, а не только для контента?
+1
WebMan WebMan Результаты доработки тегов 6 лет назад
В robots.txt изначально не делал запрет индексации тегов. То есть, это не могло повлиять.
Сайт написал в личку. Он ещё в процессе доработки, так что не сильно хочу светить на нетематических ресурсах.
🍪Мы используем файлы cookie для работы сайта. Читать подробнее.