Добро пожаловать, Гость
Логин: Пароль: Запомнить меня

ТЕМА: [РЕШЕНО] Мультиязычность категорий + размещение объявлений

[РЕШЕНО] Мультиязычность категорий + размещение объявлений 2 года 11 мес. назад #9503

  • Dgikar
  • Dgikar аватар
  • Не в сети
  • Модератор
  • Сообщений: 221
  • Спасибо получено: 19
  • Репутация: 4
В Joomla, как известно, для того, чтобы сделать мультиязычные категории, эти самые категории, нужно продублировать на другом языке (т. е., для русского - свои категории, для украинского - свои, ну и для китайского - свои...) Бред конечно, но...

НО! Возникает вопрос:
    Если у меня, на сайте, основной язык интерфейса - украинский, то и категории будут отображаться на украинском, и юзер, создав объявление, занесет его в украинские категории, НО! в русских и/или китайских категориях, этого объявления - нет. Т. е., если интерфейс переключить на русский, то юзер, который ищет это объявление, не сможет его найти, т. к. его, просто нет в этом (русском) сегменте сайта...
Как тогда быть? Как дать возможность, юзерам, видеть все объявления со всех иноязычных (сорри за абракадабру) категорий...? У кого, какие мысли по этому поводу?

Заранее благодарю за ответы
Долог путь поучения, краток и успешен путь примеров (Сенека).
Администратор запретил публиковать записи гостям.

[РЕШЕНО] Мультиязычность категорий + размещение объявлений 2 года 11 мес. назад #9504

  • KrukI
  • KrukI аватар
  • Не в сети
  • Живу я здесь
  • Сообщений: 365
  • Спасибо получено: 86
  • Репутация: 10
Dgikar пишет:
В Joomla, как известно, для того, чтобы сделать мультиязычные категории, эти самые категории, нужно продублировать на другом языке

НИЧЕГО ДУБЛИРОВАТЬ НЕ НУЖНО !!!

Это в корне неправильный подход! Делаете ОДНУ категорию для одного типа контента (ТК), и называете ее на латинице ("Content", например), а уже ПУНКТ МЕНЮ (!!!) для русского языка называйте "Статьи", например, для английского "Articles", для украинского "Статті", для китайского "文章" :). Все эти пункты меню можешь выводить как в одном меню в одном модуле для всех языков сайта, только указывая конкретный язык для конкретного пункта меню (этим методом уже много лет не пользуюсь), а можешь создать для каждого языка отдельное меню, которое выводится отдельным модулем. Такая конструкция, на первый взгляд, более громоздкая, но, если в одном меню большое количество пунктов меню, это очень сильно, в конечном итоге, упрощает жизнь.

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

P.S. Чтобы статьи, объявления и пр., и пр., были видны для всех языков, при их создании НЕ НУЖНО указывать какой-то конкретный язык.

P.P.S. Мультиязычность на моем сайте как раз и реализована по второму принципу. Но… сайт делался еще во времена, когда я совсем не дружил с Себлодом, сейчас и коменты и многое другое, уже реализовал бы совсем по другому. И, как всегда, сапожник без сапог - к своему сайту никак руки не доходят :)
Спасибо за Ваше спасибо :)
Последнее редактирование: 2 года 11 мес. назад от KrukI.
Администратор запретил публиковать записи гостям.
Спасибо сказали: Dgikar

[РЕШЕНО] Мультиязычность категорий + размещение объявлений 2 года 11 мес. назад #9505

  • Dgikar
  • Dgikar аватар
  • Не в сети
  • Модератор
  • Сообщений: 221
  • Спасибо получено: 19
  • Репутация: 4
Ок. Все бы ничего, но! Если юзер, не знает английского... Как быть с моментом, когда юзер, создает объявление? Т. е., у него, есть форма (в которой он (юзер), создает свое объявление), с Dinamic, в котором он (юзер), выбирает верхний уровень категории (которая по твоему методу, написана на английском), потом, выпадает, второй уровень категории (так же на английском)... Ведь в Dinamic'е, отображаются ИМЕННО категории, а не пункты меню...
Долог путь поучения, краток и успешен путь примеров (Сенека).
Администратор запретил публиковать записи гостям.

[РЕШЕНО] Мультиязычность категорий + размещение объявлений 2 года 11 мес. назад #9506

  • KrukI
  • KrukI аватар
  • Не в сети
  • Живу я здесь
  • Сообщений: 365
  • Спасибо получено: 86
  • Репутация: 10
если ты делаешь мультиязычный сайт, соответственно у тебя должна быть включена эта мультиязычность в настройках себлода. Если она включена, то ВЕЗДЕ (!!!)у тебя должны работать два параметра, Label (он же, языковая константа), и Value, это то, что пишется в базу. Из базы Dinamic'ом ты достаешь Value, а через языковые константы выводишь юзеру то, что тебе нужно – это Label. И категории, в данном случае, опять не при делах, поскольку название категории, это Value, а то, что показываешь юзеру, это Label (он же, языковая константа). Value в твоем случае, это НЕ название категории, а ее ID.

Например:
SLIPPERS=1
TSHIRTS=2
FUR_COATS=3

В переопределении языковых констант для каждого языка пишешь:
COM_CCK_SLIPPERS='Тапочки'
COM_CCK_TSHIRTS='Майки'
COM_CCK_FUR_COATS='Шубы'

и т.д.
Спасибо за Ваше спасибо :)
Последнее редактирование: 2 года 11 мес. назад от KrukI.
Администратор запретил публиковать записи гостям.
Спасибо сказали: Dgikar

[РЕШЕНО] Мультиязычность категорий + размещение объявлений 2 года 11 мес. назад #9507

  • Dgikar
  • Dgikar аватар
  • Не в сети
  • Модератор
  • Сообщений: 221
  • Спасибо получено: 19
  • Репутация: 4
Т. е., ті говоришь о том, чтобі категории создавать при помощи Seblod, а не Джумлой? И в названии (Title) категории, писать языковую переменную?
Правильно ли я понял?
Долог путь поучения, краток и успешен путь примеров (Сенека).
Последнее редактирование: 2 года 11 мес. назад от Dgikar.
Администратор запретил публиковать записи гостям.

[РЕШЕНО] Мультиязычность категорий + размещение объявлений 2 года 11 мес. назад #9508

  • KrukI
  • KrukI аватар
  • Не в сети
  • Живу я здесь
  • Сообщений: 365
  • Спасибо получено: 86
  • Репутация: 10
опиши структуру (уровни, подуровни) категорий – нужно понять, насколько необходимо использовать именно Dynamic.

И, самое главное, откуда получаешь Value категории.
Спасибо за Ваше спасибо :)
Последнее редактирование: 2 года 11 мес. назад от KrukI.
Администратор запретил публиковать записи гостям.

[РЕШЕНО] Мультиязычность категорий + размещение объявлений 2 года 11 мес. назад #9510

  • KrukI
  • KrukI аватар
  • Не в сети
  • Живу я здесь
  • Сообщений: 365
  • Спасибо получено: 86
  • Репутация: 10
если получаешь Value (ID) категории из таблицы #_categories, тогда в нее можно добавить еще несколько колонок, например "title_ru", "title_ua", "title_xx", а вытягивать название категории на нужном языке через параметр Options Name "title_[lang]"

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

[РЕШЕНО] Мультиязычность категорий + размещение объявлений 2 года 11 мес. назад #9512

  • Dgikar
  • Dgikar аватар
  • Не в сети
  • Модератор
  • Сообщений: 221
  • Спасибо получено: 19
  • Репутация: 4
Структура - проста:
  • Главная категория
    • Подкатегория
Да, получаю Value категории из таблицы #_categories
Долог путь поучения, краток и успешен путь примеров (Сенека).
Администратор запретил публиковать записи гостям.

[РЕШЕНО] Мультиязычность категорий + размещение объявлений 2 года 11 мес. назад #9513

  • KrukI
  • KrukI аватар
  • Не в сети
  • Живу я здесь
  • Сообщений: 365
  • Спасибо получено: 86
  • Репутация: 10
сейчас нет времени, завтра с утра распишу, как все сделать с одной категорией и выводом на разных языках через Dynamic

И еще одна ОЧЕНЬ важное уточнение простой стандартный Select Dynamic или Dynamic Cascade?
Спасибо за Ваше спасибо :)
Последнее редактирование: 2 года 11 мес. назад от KrukI.
Администратор запретил публиковать записи гостям.

[РЕШЕНО] Мультиязычность категорий + размещение объявлений 2 года 11 мес. назад #9514

  • Dgikar
  • Dgikar аватар
  • Не в сети
  • Модератор
  • Сообщений: 221
  • Спасибо получено: 19
  • Репутация: 4
Dynamic Cascade. Ок. Спасибо
Долог путь поучения, краток и успешен путь примеров (Сенека).
Администратор запретил публиковать записи гостям.

[РЕШЕНО] Мультиязычность категорий + размещение объявлений 2 года 11 мес. назад #9520

  • KrukI
  • KrukI аватар
  • Не в сети
  • Живу я здесь
  • Сообщений: 365
  • Спасибо получено: 86
  • Репутация: 10
сделал специяально простой сайт, чтобы протестировать то, что собираюсь советовать. Попробовал. Работает. Правда, не нашел, где у меня глючит мультиязычность, но, из дальнейших картинок, станет понятно, что все "вери гуд".

Итак.

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

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


Особое внимание прошу обратить на пункты "5" и "6".

У нас получаются дополнительные поля в таблице #_categories:

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


Вставляем эти поля в админ-форму

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


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


Чтобы было красиво, указываем стили наших полей.

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


Делаем переопределения языковых констант для каждого языка.

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


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

В результате, должно получится нечто подобное:

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


Как видите, я специально добавил "EN", чтобы ясно отличать, где стандартный тайтл категори, а где языковой.

Я создал две категории верхнего уровня, и по три категории в каждой из них. Получилась такая картинка:

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


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

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

Спасибо за Ваше спасибо :)
Администратор запретил публиковать записи гостям.
Спасибо сказали: Dgikar

[РЕШЕНО] Мультиязычность категорий + размещение объявлений 2 года 11 мес. назад #9522

  • KrukI
  • KrukI аватар
  • Не в сети
  • Живу я здесь
  • Сообщений: 365
  • Спасибо получено: 86
  • Репутация: 10
в один пост все картинки не поместились, поэтому, основные настройки Dynamic Cascade привожу в новом сообщении.

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



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

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

Спасибо за Ваше спасибо :)
Администратор запретил публиковать записи гостям.
Спасибо сказали: Dgikar

[РЕШЕНО] Мультиязычность категорий + размещение объявлений 2 года 11 мес. назад #9523

  • KrukI
  • KrukI аватар
  • Не в сети
  • Живу я здесь
  • Сообщений: 365
  • Спасибо получено: 86
  • Репутация: 10
Dgikar, помогло?
Спасибо за Ваше спасибо :)
Администратор запретил публиковать записи гостям.

[РЕШЕНО] Мультиязычность категорий + размещение объявлений 2 года 11 мес. назад #9524

  • Dgikar
  • Dgikar аватар
  • Не в сети
  • Модератор
  • Сообщений: 221
  • Спасибо получено: 19
  • Репутация: 4
Уехал от своего компа. Смогу проверить только в воскресенье
Долог путь поучения, краток и успешен путь примеров (Сенека).
Администратор запретил публиковать записи гостям.

[РЕШЕНО] Мультиязычность категорий + размещение объявлений 2 года 11 мес. назад #9525

  • ComeOn
  • ComeOn аватар
  • Не в сети
  • Модератор
  • Сообщений: 528
  • Спасибо получено: 136
  • Репутация: 37
Особое внимание прошу обратить на пункты "5" и "6".
У нас получаются дополнительные поля в таблице #_categories
Krukl, а зачем трогать системные таблицы? Не удивлюсь, если при очередном обновлении джумлы у тебя вылезет ошибка или посотрутся твои дополнительные поля. Все будет также работать при себлодовских таблицах, надо только соответственно изменить запросы.
C приветом, Илья.
Veni, Vidi, Vici
Последнее редактирование: 2 года 11 мес. назад от ComeOn.
Администратор запретил публиковать записи гостям.

[РЕШЕНО] Мультиязычность категорий + размещение объявлений 2 года 11 мес. назад #9526

  • KrukI
  • KrukI аватар
  • Не в сети
  • Живу я здесь
  • Сообщений: 365
  • Спасибо получено: 86
  • Репутация: 10
Krukl, а зачем трогать системные таблицы? Не удивлюсь, если при очередном обновлении джумлы у тебя вылезет ошибка или посотрутся твои дополнительные поля.
Согласен (хотя, навряд ли). Но… Мы используем Dynamic Cascade, а он не дает возможности получить Label из одной таблицы, а Value из другой :(
Спасибо за Ваше спасибо :)
Администратор запретил публиковать записи гостям.

[РЕШЕНО] Мультиязычность категорий + размещение объявлений 2 года 6 мес. назад #10268

  • Dgikar
  • Dgikar аватар
  • Не в сети
  • Модератор
  • Сообщений: 221
  • Спасибо получено: 19
  • Репутация: 4
Нашел баг... J3.5 Seb v. 2.3.7

Баг в следующем:
    если делать мультиязычные категории по вот этому мануалу то, после создания категории (даже, если созданные поля, были сделаны с закрытым замочком, т. е., созданные категории, были записаны в себлодовскую таблицу БД, а не в джумловскую _categories), то при редактировании категории, сделанной себлодом, категория открывается для редактирование не себлодом, а Joomla...
Решение (как всегда костылями):
    ставим J3.4.8, в манагере шаблонов -> шаблоны -> Параметры Isis - > кнопка " Копировать шаблон". Заходим в скопированный шаблон -> Создать переопределение, и переопределяем то, что нужно.

    В J3.5, проделываем все тоже самое и назначаем новый шаблон по умолчанию. После чего, через FTP, скачиваем все (шаблон ISIS который мы скопировали и в котором переопределили что нужно) из J3.4.8 и заменяем все в J3.5, после чего, для редактирования, применяется Seblod а не Joomla...
Долог путь поучения, краток и успешен путь примеров (Сенека).
Администратор запретил публиковать записи гостям.

[РЕШЕНО] Мультиязычность категорий + размещение объявлений 2 года 6 мес. назад #10269

  • KKAAZZOO
  • KKAAZZOO аватар
  • Не в сети
  • Модератор
  • Сообщений: 2038
  • Спасибо получено: 428
  • Репутация: 106
Администратор запретил публиковать записи гостям.

roundtheme