Php pro bid: работаем с категориями
18.02.2011
Уже несколько раз приходили вопросы по проблеме работы с категориями в php pro bid при мультиязычности сайта. Сначала не обратил внимание, но вопросов в форму контактов становилось все больше. Надо предлагать решение, которое сам использовал в работе при запуске системы.
Давайте разберемся, как все работает в системе Pro bid. В базе данных php pro bid хранятся все данные по категориям в таблице префикс_categories. В языковых блоках для управления категориями присутствуют два файла categories_array.php и category.lang.php Связывается все это по categories_id (номеру категории или подкатегории) и parent_id (номеру основной категории для подкатегории).
При управлении категориями из административной панели, при выборе "Редактировать категорию", скрипт предложит список категорий, "привязаный" к выбранному языку сайта (исходя из id заложенных в базе данных). Т.е., если мы изменяем или дополняем категории для английского языка, при выбранном на сайте языке - английском, изменения коснутся только категорий применительно к данному языку и никак не отразится на выводе категории в русском. Ну и, конечно, наоборот. Так организована работа с категориями. Категории, не подвергшиеся изменению, будут заменены в языковых файлах в соответствии с базой данных. Это же произойдет и при редактировании категорий в русской раскладке. Т.е. весь перевод русских файлов categories_array.php и category.lang.php будет заменен на их английское значение по базе.
Замечу, если в предлагаемом списке, при выбранном русском языке сайта, будут категории на английском, то не удивляйтесь, если при этом на сайте появятся категории в английском написании.
Тем самым, для корректной работы в нужных языковых раскладках, перед началом работы, вам необходимо для русского языка (любого другого отличного от английского) ввести все необходимые переводы для категорий из административной панели.
Возможно есть и более простой способ, менее трудоемкий, но он уже будет связан с изменениями в скриптах работы системы. Предлагаемых вариантов изменений не видел в сети, к сожалению.
Исходя из этого уже можно было бы конкретнее говорить.
Очень похоже на описываемый случай, когда редактировался уже русифицированный файл в выборе другого языка. В этом случае в русской раскладке, к примеру, вместо английского названия выводило пустое место и (0) в количестве.