Задавайте вопросы про Drupal - 3

big boy
На сайте с 18.11.2006
Offline
307
#31

Стандартный вывод таблицы views:

Можно объединить некоторые значения по ячейкам:

А как сделать так:

Есть в настройках темизации "Style output", но я так и не разобрался, как в него вставить мой шаблон таблицы.

✔ Google spam update убил сайты? Что делать - https://webmasta.ru/blog/google-october-2022-spam-brain-update
G
На сайте с 22.09.2007
Offline
161
#32
big boy:
Есть в настройках темизации "Style output", но я так и не разобрался, как в него вставить мой шаблон таблицы.

Style output: views-view-table.tpl.php

нажать Style output, появится код темизации для таблицы (Template to display a view as a table)

скопировать код в файл views-view-table.tpl.php, который нужно создать в папке с темой, изменить как надо, сохранить, чистить кеш.

big boy
На сайте с 18.11.2006
Offline
307
#33
gruz_:
Style output: views-view-table.tpl.php
нажать Style output, появится код темизации для таблицы (Template to display a view as a table)
скопировать код в файл views-view-table.tpl.php, который нужно создать в папке с темой, изменить как надо, сохранить, чистить кеш.

Это всё понятно, я обычно так и делал, но тут сложнее. В оригинальном style (отбросив всё лишнее):

  <tbody>

<?php foreach ($rows as $count => $row): ?>
<tr class="<?php print implode(' ', $row_classes[$count]); ?>">
<?php foreach ($row as $field => $content): ?>
<td class="views-field views-field-<?php print $fields[$field]; ?>">
<?php print $content; ?>
</td>
<?php endforeach; ?>
</tr>
<?php endforeach; ?>
</tbody>

В моём случае шаблон такой:

	<tbody>

<tr>
<td rowspan="2">1</td>
<td rowspan="2">2</td>
<td colspan="2">3</td>
</tr>
<tr>
<td>4</td>
<td>5</td>
</tr>
</tbody>

И как его туда вставить? Он же не поддаётся логике, что каждая запись - строка, а набор данных - колонка.

G
На сайте с 22.09.2007
Offline
161
#34
big boy:

И как его туда вставить? Он же не поддаётся логике, что каждая запись - строка, а набор данных - колонка.

извиняюсь, не так понял.

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

Если-бы, для одного набора данных, была бы одна строка(<tr>) и несколько ячеек (<td>) любой конфигурации, то можно было-бы просто добавить проверку на нужные ячейки как-то так:


<?php foreach ($rows as $count => $row): ?>
<tr class="<?php print implode(' ', $row_classes[$count]); ?>">
<?php foreach ($row as $field => $content): ?>
// добавляем проверку для каждого поля данных (1,2,3,4,5) и меняем вывод
// if ($fields[$field]=="имя нужного поля") print "<td rowspan=2>".$content."</td>";
// elseif ................
<?php endforeach; ?>
</tr>
<?php endforeach; ?>

Но с двумя строками (в одном наборе данных 1,2,3,4,5) дублируем вывод строк таблицы, и меняем условия проверки соответственно:

    <?php foreach ($rows as $count => $row): ?>

<tr class="<?php print implode(' ', $row_classes[$count]); ?>"> //строка №1 с полями 1,2,3
<?php foreach ($row as $field => $content): ?>
// добавляем проверку для каждого поля данных (1,2,3) и меняем вывод
// if ($fields[$field]=="имя нужного поля1") print "<td rowspan=2>".$content."</td>";
// elseif ................
<?php endforeach; ?>
</tr>

<tr class="<?php print implode(' ', $row_classes[$count]); ?>"> //строка №2 с полями 4,5
<?php foreach ($row as $field => $content): ?>
// добавляем проверку для каждого поля данных (4,5) и меняем вывод
// if ($fields[$field]=="имя нужного поля4") print "<td>".$content."</td>";
// elseif ................
<?php endforeach; ?>
</tr>
<?php endforeach; ?>

Немного топорно, но должно сработать, главное правильно условия сделать.

S
На сайте с 13.10.2014
Offline
171
#35

Господа. есть вопрос.

Есть Интернет-магазин на уберкарте

в форме оформления товара есть поле "город". Оно сделано обычным текстфилдом. А мне нужно его переделать в селект с контентом, выбираемым из словаря таксономии.

Подскажите, как это сделать по фен-шую, в сторону какого хука копать?

АПД.

кажется решение найдено

function hook_uc_form_alter(&$form, &$form_state, $form_id)

как сделаю, напишу о результатах

big boy
На сайте с 18.11.2006
Offline
307
#36

allplanet, views же!

D6. Какую лучше адаптивную тему использовать для основы? Варианта вроде как три:

https://www.drupal.org/project/zen

https://www.drupal.org/project/adaptivetheme

https://www.drupal.org/project/fusion

Склоняюсь к фьюжену (недавно обновлялся, по сравнению с другими). Возможно кто-то аргументированно посоветует другое?

Alangasar
На сайте с 06.11.2008
Offline
98
#37

Семерка. Нужно показывать блок на страницах из словаря терминов таксономии и определенного типа ноды. Модуль PHP включать не хочу, одинаковое начало для алиасов термина и ноды тоже не вариант.

Смотрел в сторону hook_block_view_alter, после 5 минут тыкания ниче не заработало, плюнул.

Есть у кого может рабочие варианты без допмодулей, а то из проекта в проект изобретаю велосипеды и думаю, что на следующем уж точно разберусь с этой бедой, а воз и ныне там )

Alangasar
На сайте с 06.11.2008
Offline
98
#38

allplanet, при чем тут шаблоны и сниппеты? Я привел самый элементарный из примеров, условий может быть множество и собственно видимостью блока лучше управлять из модуля.

По вашему вопросу: taxonomy_get_vocabularies() - загрузит все словари, а вот у самих терминов не бывает машинных имен.

---------- Добавлено 09.04.2015 в 10:50 ----------

Походу hook_block_list_alter спасает меня

Alangasar
На сайте с 06.11.2008
Offline
98
#39

Пример кода в node.tpl слабо привести, чтоб блок вывелся в регионе с машинным именем left?

Alangasar
На сайте с 06.11.2008
Offline
98
#40

Судя по вашей логике, статичную информацию, телефон, например, тоже нужно в node.tpl.php пихать

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий