proger.su

proger.su

+13
Репутация
0
Рейтинг
0
proger.su proger.su Компонент мультиязычность 5 лет назад
Таблица cms_multilang_contents больше не используется. Вместо нее cms_multilang_con_ + имя контента.
Стартовая структура для таблицы с переводами контента возвращается методом getContentTableStruct
Для формирования формы для перевода контента используется метод getContentItemForm и addSeoFields

Хуки были добавлены что бы в базе не оставлись не используемые переводы. К примеру при удалении меню, пунктов меню, контента, типа контента, поля контента и т. д.

Я бы советовал взять решения, потому что я добавил много полезных штук. К примеру переводы названий полей контента. На простых сайтах это не сильно актуально, а если в контенте много полей, то это уже нужно, к примеру как на этой странице http://03info.com/medications/1-almagel.html

Сегодня уже поздно, завтра более подробно опишу что было сделано.
0
proger.su proger.su Компонент мультиязычность 5 лет назад
Также я написал просьбу для Loadырь, что бы он добавил один хук в свой компонент, что бы и он переводился.
0
proger.su proger.su Компонент мультиязычность 5 лет назад
Если будете включать эти изменения в слудующую версию компонента, нужно написать запрос Fuze что бы он добавил несколько хуков в движок.
0
proger.su proger.su Компонент мультиязычность 5 лет назад
Как и обещал отправил пулреквест со всем тем что я писал выше плюс еще несколько доработок, но мерджить нужно в ручную (отступы разные). Прошу обратить внимание на комментарий к пулреквесту.
https://github.com/my-instantcms/icms2_multilang/pull/1

На инсталлер пока времени нету, все остальное я делал на рабочему сайте, а он там не нужен был.
0
proger.su proger.su Компонент мультиязычность 5 лет назад
Обязательно поделюсь. Но мерджить вам наверное прийдется вручную. Мне не удобно было читать код в вашем форматировании, я там добавлял отступы и т. д., по этому в гите покажет что там все переписано scratch
0
proger.su proger.su Компонент мультиязычность 5 лет назад
P. S. Я два хука изменил, а два добавил новых. На гитхабе не стал пока писать, думаю когда все доделаю, потом напишу.

/system/controllers/content/model.php
cmsEventsManager::hook('ctype_field_after_update', array($field, $field_old, $ctype_name, $this));

/system/controllers/menu/model.php
cmsEventsManager::hook('menu_item_after_delete', $item_id);

/system/controllers/menu/model.php
cmsEventsManager::hook('menu_before_delete', $id);

/system/controllers/content/frontend.php
list($ctype, $items, $fields) = cmsEventsManager::hook('content_before_list', array($ctype, $items, $fields));
list($ctype, $items, $fields) = cmsEventsManager::hook("content_{$ctype['name']}_before_list", array($ctype, $items, $fields));
0
proger.su proger.su Компонент мультиязычность 5 лет назад
Удаляются переводы меню, при удалении пунктов меню или самого меню.
Также добавил возможность переводить названия полей в типе контента.
0
proger.su proger.su Компонент мультиязычность 5 лет назад
Отлично! Большое спасибо!
0
proger.su proger.su Компонент мультиязычность 5 лет назад
*поиск на сайте
0
proger.su proger.su Компонент мультиязычность 5 лет назад
Нужно еще придумать как красиво сделать, что бы переведенный контент искался через поиск.
0
proger.su proger.su Компонент мультиязычность 5 лет назад
Спасибо разработчикам за оперативное добавление хуков.

Уже добавляются/удаляются таблицы при добавлении/удалении типов контента.
Добавляются/удаляются ячеки при добавлении/удалении полей.

Сейчас делаю что бы удалялись переводы при удалении контента, меню и т. д.
0
proger.su proger.su Компонент мультиязычность 5 лет назад
Я писал r2, он сказал создать тикет на гитхабе. Тикет создал https://github.com/instantsoft/icms2/issues/295
0
proger.su proger.su Компонент мультиязычность 5 лет назад
Здравствуйте!
Я дорабатываю плагин. В нем поля в форме "фиксированые", я сделал "динамические", выводятся те что в типе контента.

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

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

Спасибо!
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.