Drupal 7 + Ubercart как изменить шаблон вывода категорий?

Главные вкладки

Аватар пользователя diepower diepower 23 июня 2013 в 12:59

Здравствуйте, уважаемые друпальшики, я недавно начал разбираться с друпалом и его модулями..
Подскажите пожалуйста, поставил я модуль магазина ubercart.. добавил несколько категорий(делал их через таксономию..) добавил несколько товаров..
все хорошо, только вот как изменить шаблон вывода категорий для начала я не нашел..

в интернете были варианты аналогичные вопросы..
вот пример http://www.drupal.ru/node/100874
ему вроде ответили, но тема не пошла далее
цитирую из темы указанной по ссылке "Собственно самый простой и гибкий способ - сделать представление (views). Если непременно хочется шаблон править, то можно шаблон для представления менять..."
Подскажите пожалуйста, не пойму как именно сделать..
пробовал создавать файлы "field--field-name.tpl.php" не получилось..

помогите пожалуйста.. не разберусь сам никак Sad
для визуализации приложил скрин, там например хочу картинку отцентровать, фон таблицы например заменить.. как?:)

Комментарии

Аватар пользователя serega111 serega111 23 июня 2013 в 14:45

для начала просто попробуйте изменить css. Возможно этого хватит.
Если нет, то создаете представления, в папке темы есть папка templateы, там создаете шаблон для представления. Для этого и папки views/theme копируете подходящий для вас шаблон и редактируете его (какой шаблон копировать, зависит от настроек views и от того, на каком уровне вы хотите менять представление (поля, строки, представление целиком). Как изменить имя нового шаблона написано тут https://api.drupal.org/api/views/theme!theme.inc/group/views_templates/7

Аватар пользователя diepower diepower 10 ноября 2015 в 11:49

serega111, спасибо в первую очередь что решил откликнуться.
вот смотри..
создал я для начала файлик views-view.tpl.php в нем я могу отредактировать все кроме таблицы.. т.е. могу над таблицей что-то вывести, под таблицей.. футер и тд...
дальше создал views-view-grid.tpl.php - тут аналогично, но уже смог удалить таблицу и отдельно выводить данные..
посмотрел массив и вывел первый dsm($rows); echo $rows[0][0];
скриншот приложил.. проблема в том, что это вот $rows[0][0] = это картинка + текст.. а мне бы отдельно получить картинку где нибудь... чтоб я мог отредактировать ее параметры..

попробовал сделать такой шаблон views-view-field--body.tpl.php - так вот это самое боди= описание, оно выводится по шаблону указанному там..
а вот пробовал к примеру так views-view-field--uc_product_image.tpl.php - не сработало.. с картинкой ничего не произошло.. да и вообще.. где редактировать ее теги.. т.е. где прописано вот это
откуда размер 31 на 100 берется?

итого вопросов несколько..

1) где редактировать тег

2) какой шаблон для картинки? ведь по аналогии беру body или title - все срабатывает.. а с uc_product_image не получается Sad

3) этот вопрос из-за недопонимания... на скриншоте dd2.png видно что в массиве массив[0][0],массив[0][1],массив[0][2],массив[0][3] - это элементы.. дальше идет
массив[1][0] и 3 пустых массив[1][1], массив[1][2], массив[1][3]
вопрос почему массив[1][0] != массив[0][4].. ведь содержит аналогичную информацию..

Аватар пользователя serega111 serega111 24 июня 2013 в 7:27

"diepower" wrote:
где редактировать тег

Может в шаблоне поля, или в препроцесс хуке поля.
"diepower" wrote:
откуда размер 31 на 100 берется?

Наверно, из настроек стилей изображений.
"diepower" wrote:
2) какой шаблон для картинки? ведь по аналогии беру body или title - все срабатывает.. а с uc_product_image не получается :(

пробовали views-view-fields--uc_product_image.tpl.php? По ссылке вроде написано, что views-view-fields, а не views-view-field.
Либо замените на views-view-field--uc-product-image.tpl.php
"diepower" wrote:
вопрос почему массив[1][0] != массив[0][4].. ведь содержит аналогичную информацию..

потому что у вас форма - grid. массив[0][0]-[0][3] - это первая строчка, массив[1][0]-[1][3] - вторая и т.д. Так будет удобнее выводить таблицу с элементами.

Аватар пользователя diepower diepower 24 июня 2013 в 11:36

"serega111" wrote:
Может в шаблоне поля, или в препроцесс хуке поля.

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

"serega111" wrote:
Наверно, из настроек стилей изображений.

это наверное что-то типа "тип отображаемого изоображения"?? там были варианты thumbs и тд.. думаю что да..

"serega111" wrote:
пробовали views-view-fields--uc_product_image.tpl.php? По ссылке вроде написано, что views-view-fields, а не views-view-field.
Либо замените на views-view-field--uc-product-image.tpl.php

попробовал, при fields вообще даже title или body не работает.. ну всмысле не форматирует как мне нужно..

"serega111" wrote:
потому что у вас форма - grid. массив[0][0]-[0][3] - это первая строчка, массив[1][0]-[1][3] - вторая и т.д. Так будет удобнее выводить таблицу с элементами.

благодарю, а то сам не вьехал.. да так действительно удобнее выводить...

вообщем порылся порылся.. нашел такой вариант, возможно он через ж..., сразу пожалуйста скажите, чтоб я не привыкал к неправильному=) код будет ужасным..=(
views-field views-field-entity-id - в диве с этим классом у меня картинка, я решил сделать шаблон типа views-view-field--entity-id.tpl.php и в нем отцентровал вывод.. результат вроде получился.. но я не могу получить отдельно допустим путь до картинки... ну вот например задача стоит выводить картинку не как картинку, а как текстовую строчку с ее адресом... как ? Sad

в этом же файле view-field--entity-id.tpl.php пробовал делать вывод dsm($field);
там нашел в некоторых местах($field->view->result[0]->_field_data['tid']['entity']->uc_catalog_image['und'][0]['uri']) мелькает название картинки.. но там url выводится вот таким... public://image.jpg

Аватар пользователя serega111 serega111 24 июня 2013 в 12:04

"diepower" wrote:
$field->view->result[0]->_field_data['tid']['entity']->uc_catalog_image['und'][0]['uri']

да, путь до картинки тут и лежит.
"diepower" wrote:
но там url выводится вот таким... public://image.jpg

public - это путь к каталогу с публичными файлами, хранится в одной из переменных друпала, настраивается тут admin/config/media/file-system
Хотите вывести картинку, сделайте так
<?php print theme('image', $varibles); ?>
$variables описан тут. path можно прям в таком виде и передать, там все предусмотрено ))
"diepower" wrote:
это наверное что-то типа "тип отображаемого изоображения"?? там были варианты thumbs и тд.. думаю что да..

да, настройки тут admin/config/media/image-styles. Попробуйте создать свой стиль и выводить картинку через него, может этого достаточно будет.
"diepower" wrote:
может быть, но шаблон поля для изоображения я не могу найти..

а его и нет, но создать можно. посмотрите темизацию полей

Аватар пользователя diepower diepower 24 июня 2013 в 15:32

serega111 большое спасибо, хоть немного начал въезжать в тему=)
у меня конечно еще все мучения впереди но хоть уже то что надо на данном этапе - понял..
во многом благодаря тебе, еще раз спасибо!