Здравствуйте.
Использую для перевода представления модуль Internationalization Views. При выводе некоторых полей в представлении есть необходимость использовать теги style и button. Отображаются они нормально. Но если я делаю перевод этих полей, то модуль перевода просто удаляет эти теги при генерации страницы. Как победить эту проблему?
Комментарии
1. Это не проблема. Соответственно, побеждать ее не нужно.
2. Для кастомизации, есть система шаблонизации. Ознакомьтесь с ней и применяйте без выдумывания проблем, с которыми потом будете пытаться воевать.
Вопрос в том, что это витрина продуктов, и в зависимости товаров в стиль и кнопку подтягиваются определенные параметры. На языке оригинала все нормально, в переводе не работает. Не понимаю как эту историю темизировать.
Начните с отхода от практики кастомизации HTML из настроек представлений.
Вынесите в шаблоны формирование вывода.
Вынесите в слой процессинга логику формирования вывода.
С помощью имеющихся средств, организуйте перевод.
Хорошо. А как быть в ситуации, когда в заголовке представление в глобал пхп поле пишу сниппет подсчета количества товара. Потом перевожу это поле и в переводе стабильно пишет 0?
<?php
$current_view = views_get_current_view();
$countproduct = intval($current_view->query->pager->total_items);
print '<div class="result-search">Ми нашли для вас ' . $countproduct . ' ' . pluralcar($countproduct) . '</div>';
?>
Результатом должно стать: "Ми нашли для вас 22 автомобиля" или "Ми нашли для вас 21 автомобиль". Функция pluralcar используется для склонения слова автомобиль в зависимости от количества.
Не используйте глобал пхп.
А можете скрины этого дела выложить? Того, что без перевода style подтягиявается, а с переводом - нет.
Работаю с данным модулем, но у себя проблем не наблюдаю.
Без скрина приведу упрощенный пример.
- язык оригинала (код цвета может быть разным, присваивается товару вручную в специальное поле, а потом выводится в представлении).
- перевод. Из того что у меня используется, режет style, buttom.
Сорри, и здесь резануло код ))
Без скрина приведу упрощенный пример.
<div class="tovar" style="background-color: #3cad2b;">Товар</div>
- язык оригинала (код цвета может быть разным, присваивается товару вручную в специальное поле, а потом выводится в представлении).<div class="tovar">Товар</div>
- перевод. Из того что у меня используется, режет style, buttom.Теги обычно не переводят, надо отделить контент от разметки.
Немного начал разбираться с темизацией представлений. Но не понял один момент, у меня в одном поле выводится другое. Как я могу темизировать эту историю? Допустим представление имеет следующий вид:
field_field1
field_field2
field_field3
field_field4
Потом поле field_field3 переопределяю так
<div class="tovar" style="background-color: [field_field2];">[field_field3]</div>
Как мне переписать шаблон поля field_field3 и подтянуть туда поле field_field2.
Кто-то подскажет решение вопроса с темизацией вложенных полей в представлении как в комментарии выше?
https://www.drupal.org/docs/7/theming/template-theme-hook-suggestions
Для конкретного ПОЛЯ field_field2 делаю шаблон views-view-field--field_field2.tpl.php. Могу ли я в этом шаблоне кроме текущего поля вывести поле, например field_field1? Если да, то как? Не нашел пока информации
Ищите про препроцессинг для полей.
Это уже для меня вне моих знаний. Какая цена вопроса решения моей задачи, будь-то костыль для модуля перевода, либо темизация поля?
Опубликуйте пост с запросом и объяснением требуемого решения в соответствующем разделе текущего форума.