Форум русской поддержки Joomla!® CMS
27.06.2017, 02:26:22 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1] 2  Все   Вниз
  Добавить закладку  |  Печать  
Автор

Каталог статей в виде таблицы

 (Прочитано 6702 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Arsonist
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 26


« : 23.02.2012, 05:37:39 »

Ребят, можно ли каким-нибудь образом вывести список категории в виде таблицы так, как это выглядит в обычной Joomla без К2? В К2 пока нашёл только обычный список новостей.
Записан
Dorfman
Живу я здесь
******

Репутация: +78/-4
Offline Offline

Пол: Мужской
Сообщений: 1148


Почти влез...


« Ответ #1 : 23.02.2012, 11:54:36 »

Ну, в настройках категории указываешь на показ только заголовки статей как ссылки, остальное пишешь "скрыть". Правда, ещё придётся немного шаблон вывода категории К2 подправить, т.к. заголовки будут выводиться как тэги <h3> (или даже h2 - я уже не помню, какие они там по умолчанию).
Записан
Arsonist
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 26


« Ответ #2 : 26.02.2012, 03:27:19 »

Дело в том, что у меня на сайте будет несколько каталогов статей, поэтому весь шаблон вывода я править не могу. Это нужно только для одного из каталогов, в остальных шаблон по умолчанию вполне устраивает. Как лучше поступить?
Записан
tefun
Практически профи
*******

Репутация: +130/-1
Offline Offline

Пол: Мужской
Сообщений: 2615


Легче всего обмануть себя


« Ответ #3 : 26.02.2012, 10:25:36 »

хорошая тема, тоже интересует, спрашивал в другой теме, пока там ответа нет Sad а иногда так надо таблицу
Записан
yrygvay
Живу я здесь
******

Репутация: +35/-3
Offline Offline

Пол: Мужской
Сообщений: 1274



« Ответ #4 : 26.02.2012, 12:12:14 »

Мне самому тоже очень нужно для сайта шаблон вывода в виде таблицы как в старом добром VirtueMarte.
Записан
Dorfman
Живу я здесь
******

Репутация: +78/-4
Offline Offline

Пол: Мужской
Сообщений: 1148


Почти влез...


« Ответ #5 : 26.02.2012, 14:50:32 »

Дело в том, что у меня на сайте будет несколько каталогов статей, поэтому весь шаблон вывода я править не могу. Это нужно только для одного из каталогов, в остальных шаблон по умолчанию вполне устраивает. Как лучше поступить?
Итак, делаем следующее.
1) Читаем пост о том, как можно разделить шаблоны для каждой категории
2) Назначаем видоизменённый шаблон для нужной категории
3) Нужно учесть, что при выборке материалов по автору или по тегу данная методика не срабатывает, т.к. материалы могут быть из разных категорий. Поэтому именно эти опции нужно править в "базовом" k2.css и в базовых шаблонах.
« Последнее редактирование: 26.02.2012, 15:04:35 от Dorfman » Записан
asdf27
Осваиваюсь на форуме
***

Репутация: +7/-0
Offline Offline

Пол: Мужской
Сообщений: 120



« Ответ #6 : 27.02.2012, 01:22:22 »

1. Идем в .ru/components/com_k2/templates
2. Копируем папку Default, называем 123
3. В папке 123 достаем файл category_item.php
4. Редактируем, 27 строка
Код:
<!-- Item title -->
 <h3 class="catItemTitle">
  <?php                                       if ($this->item->params->get('catItemTitleLinked')): ?>
<a href="<?php                                       echo $this->item->link; ?>">
  <?php                                       echo $this->item->title; ?>
  </a>
  <?php                                       else: ?>
  <?php                                       echo $this->item->title; ?>
  <?php                                       endif; ?>
5. Меняем <h3 class="catItemTitle"> на <h3 class="catItemTitle1">.
6. Идем в .ru/components/com_k2/css. Редактируем k2.css
7. Находим Строка 376
Код:
div.catItemHeader h3.catItemTitle {font-family:Georgia, "Times New Roman", Times, serif;font-size:24px;font-weight:normal;line-height:110%;padding:10px 0 4px 0;margin:0;}
div.catItemHeader h3.catItemTitle span {}
div.catItemHeader h3.catItemTitle span sup {font-size:12px;color:#CF1919;text-decoration:none;} /* superscript */
8. Копируем, меняем все три div.catItemHeader на h3.catItemTitle1 .Меняем стиль, например font-family:Verdana, font-size:14px
9. Идем в настройку категории, меняем шаблон вывода на 123
10. Пишем, если не разобрались.
11. Если разобрались, аттачим к теме для остальных.
Записан
yrygvay
Живу я здесь
******

Репутация: +35/-3
Offline Offline

Пол: Мужской
Сообщений: 1274



« Ответ #7 : 27.02.2012, 11:13:03 »

у VirtueMart есть вывод товара в таблице :
Код:
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
mm_showMyFileName(__FILE__);
 ?>
 <table><tr><td></td></tr></table>
<table width="100%">
  <tr>
<td><?php echo ps_product::image_tag( urldecode($product_thumb_image), 'class="browseProductImage" border="0" title="'.$product_name.'" alt="'.$product_name .'"' )?>
       </td>
<td><h2><?php echo $product_name ?></h2><br><?php echo $product_price ?></td>
  </tr>
  <tr><td colspan="2"><?php echo $product_s_desc ?> <a href="<?php echo $product_flypage ?>">[<?php echo $product_details ?>...]</a></td>
  </tr>
</table>

Возможно что-нибудь похожее для к2?!
Записан
asdf27
Осваиваюсь на форуме
***

Репутация: +7/-0
Offline Offline

Пол: Мужской
Сообщений: 120



« Ответ #8 : 27.02.2012, 12:05:11 »

То, что вы описали, выглядит примерно так:

|Картинка|Название|
|Описание             |

Т.е. таблица вида

Код:
<table>
<tr><td>Картинка</td><td>Название</td></tr>
<tr><td colspan="2">Описание</td></tr>
</table>

А внутри ячеек коды вызова соответствующих данных. Выше вам дали два полезных ответа, один из которых разжеван. Пробуйте и спрашивайте.
Записан
asdf27
Осваиваюсь на форуме
***

Репутация: +7/-0
Offline Offline

Пол: Мужской
Сообщений: 120



« Ответ #9 : 27.02.2012, 12:06:44 »

Если вы имеете ввиду сделать не только ссылки, а примерно так устарело , то могу прикрепить шаблон.
« Последнее редактирование: 20.10.2013, 14:53:03 от asdf27 » Записан
tefun
Практически профи
*******

Репутация: +130/-1
Offline Offline

Пол: Мужской
Сообщений: 2615


Легче всего обмануть себя


« Ответ #10 : 27.02.2012, 12:13:34 »

примерно надо так http://imageshost.ru/links/e3de819d00dafe129d6a63a2ea2150f1 (ну лично мне, только стобец цена не нужен)
Записан
asdf27
Осваиваюсь на форуме
***

Репутация: +7/-0
Offline Offline

Пол: Мужской
Сообщений: 120



« Ответ #11 : 27.02.2012, 16:57:32 »

На досуге помогу
Записан
yrygvay
Живу я здесь
******

Репутация: +35/-3
Offline Offline

Пол: Мужской
Сообщений: 1274



« Ответ #12 : 27.02.2012, 18:00:15 »

примерно надо так http://imageshost.ru/links/e3de819d00dafe129d6a63a2ea2150f1 (ну лично мне, только стобец цена не нужен)

тоже самое примерно нужно!

и тогда мой к2 наконец превратится в полноценный каталог!!

asdf27- Были бы вам очень признательны!
« Последнее редактирование: 27.02.2012, 18:11:05 от yrygvay » Записан
asdf27
Осваиваюсь на форуме
***

Репутация: +7/-0
Offline Offline

Пол: Мужской
Сообщений: 120



« Ответ #13 : 27.02.2012, 19:01:50 »

Название наверно лучше будет сверху картинки?
Записан
tefun
Практически профи
*******

Репутация: +130/-1
Offline Offline

Пол: Мужской
Сообщений: 2615


Легче всего обмануть себя


« Ответ #14 : 27.02.2012, 19:14:06 »

asdf27- Были бы вам очень признательны!
возможно, добавят в FAQ
Записан
asdf27
Осваиваюсь на форуме
***

Репутация: +7/-0
Offline Offline

Пол: Мужской
Сообщений: 120



« Ответ #15 : 27.02.2012, 19:50:33 »

возможно, добавят в FAQ

А чего там добавлять-то? Другое дело, можно создать тему "Шаблоны K2" и туда аттачить. Например, у меня порядка разных 3 шаблонов, этот четвертый.
« Последнее редактирование: 27.02.2012, 19:55:07 от asdf27 » Записан
asdf27
Осваиваюсь на форуме
***

Репутация: +7/-0
Offline Offline

Пол: Мужской
Сообщений: 120



« Ответ #16 : 27.02.2012, 19:54:09 »

Вот, по просьбе форумчан, шаблон потёрто, устарело

Пишите в тему, обновлю

Кого устраивает в таком виде, берем в аттаче. Кому допилить, спрашивайте, скажу где подправить.

НЕ ЗАБУДЬТЕ в .ru/components/com_k2/css/k2.css добавить строчки:

Код:
div.catItemImageBlock {padding:8px;margin:0 0 16px 0;}
span.catItemImage {display:block;text-align:center;margin:0 0 8px 0;}
span.catItemImage img {border:0px;padding:8px;}

h3.catItemTitle1 {font-size:10px;font-weight:normal;color:#006cff;}

div.catItemIntroText {font-size:inherit;font-weight:normal;line-height:inherit;padding:4px 0 12px 0;}
div.catItemHeader1 h3.catItemTitle {font-family:Georgia, "Times New Roman", Times, serif;font-size:24px;font-weight:normal;line-height:110%;padding:10px 0 4px 0;margin:0;}
div.catItemHeader1 h3.catItemTitle1 span {}
div.catItemHeader1 h3.catItemTitle1 span sup {font-size:12px;color:#CF1919;text-decoration:none;}

div.catItemReadMore1 {display:inline;}
div.catItemReadMore1 a {color: #006cff;}
div.catItemReadMore1 a:hover {}

a.k2ReadMore1 {color: #006cff;}
a.k2ReadMore1:hover {}

[вложение удалено Администратором]
« Последнее редактирование: 20.10.2013, 14:54:04 от asdf27 » Записан
tefun
Практически профи
*******

Репутация: +130/-1
Offline Offline

Пол: Мужской
Сообщений: 2615


Легче всего обмануть себя


« Ответ #17 : 27.02.2012, 19:58:18 »

лови +
заработал Azn
спасибо

PS поюзаю отпишусь
а шапку? Angry
Записан
yrygvay
Живу я здесь
******

Репутация: +35/-3
Offline Offline

Пол: Мужской
Сообщений: 1274



« Ответ #18 : 27.02.2012, 20:09:33 »

Спасибо большое. Опробуем.
если всё ок. добавим в FAQ или прикрепим тему
Записан
asdf27
Осваиваюсь на форуме
***

Репутация: +7/-0
Offline Offline

Пол: Мужской
Сообщений: 120



« Ответ #19 : 27.02.2012, 20:50:48 »

а шапку? Angry

С шапкой трабла, т.к. он дублирует её после каждой статьи. Но я знаю где копать... на досуге Azn
Записан
tefun
Практически профи
*******

Репутация: +130/-1
Offline Offline

Пол: Мужской
Сообщений: 2615


Легче всего обмануть себя


« Ответ #20 : 27.02.2012, 21:17:10 »

С шапкой трабла, т.к. он дублирует её после каждой статьи. Но я знаю где копать... на досуге Azn
ну как и вирт Azn ждемс
Записан
asdf27
Осваиваюсь на форуме
***

Репутация: +7/-0
Offline Offline

Пол: Мужской
Сообщений: 120



« Ответ #21 : 27.02.2012, 23:35:50 »

В аттаче, адрес прежний  Smiley

[вложение удалено Администратором]
Записан
staticlight
Moderator
*****

Репутация: +65/-0
Offline Offline

Пол: Мужской
Сообщений: 1090


Staticlight


« Ответ #22 : 28.02.2012, 10:37:59 »

Перенес тему.
Записан
EWG65
Захожу иногда
**

Репутация: +4/-0
Offline Offline

Пол: Мужской
Сообщений: 11


« Ответ #23 : 28.02.2012, 17:18:31 »

Когда-то делал нечто подобное, только без картинок.
Задача была - выводить в виде таблицы название материала, как ссылка (при нажатии открывается сам материал), и три дополнительных поля. В принципе, можно туда и картинку присобачить.
Только шаблон делал под k2 v2.4.1, надо смотреть, не поменялось ли чего в структуре шаблона под v2.5.4. В этом шаблоне используется только количество основных материалов, оно показывает, сколько строк будет в таблице до пагинации.
Записан
asdf27
Осваиваюсь на форуме
***

Репутация: +7/-0
Offline Offline

Пол: Мужской
Сообщений: 120



« Ответ #24 : 28.02.2012, 17:25:27 »

Можете привести код отдельного вызова полей? Т.е. у вас определенная колонка выводит определенное поле. Как?
Записан
tefun
Практически профи
*******

Репутация: +130/-1
Offline Offline

Пол: Мужской
Сообщений: 2615


Легче всего обмануть себя


« Ответ #25 : 28.02.2012, 17:27:10 »

Когда-то делал нечто подобное, только без картинок.
Задача была - выводить в виде таблицы название материала, как ссылка (при нажатии открывается сам материал), и три дополнительных поля. В принципе, можно туда и картинку присобачить.
Только шаблон делал под k2 v2.4.1, надо смотреть, не поменялось ли чего в структуре шаблона под v2.5.4. В этом шаблоне используется только количество основных материалов, оно показывает, сколько строк будет в таблице до пагинации.
ну вообще прям прорыв Azn круто! да с картинками было бы лучше (+эффект лайтбокс)
Записан
EWG65
Захожу иногда
**

Репутация: +4/-0
Offline Offline

Пол: Мужской
Сообщений: 11


« Ответ #26 : 28.02.2012, 19:10:43 »

Можете привести код отдельного вызова полей? Т.е. у вас определенная колонка выводит определенное поле. Как?
Уффф... Ну, и задаёте Вы задачку, барин. Проще было прислать шаблон Azn
Но зато теперь всё по полочкам расписал. Тексту много получилось, т.к. основательно переделывал category.php и category_item.php.

Значит, так. Первым делом

ПЕРЕДЕЛКА CATEGORY.PHP

Начиная со строки 138 и по 156 - отдаём функции отображения leading items в category_item.php. Вместо
Код:
<?php if(isset($this->leading) && count($this->leading)): ?>
<!-- Leading items -->
<div id="itemListLeading">
<?php foreach($this->leading as $key=>$item): ?>

<?php
// Define a CSS class for the last container on each row
if( (($key+1)%($this->params->get('num_leading_columns'))==0) || count($this->leading)<$this->params->get('num_leading_columns') )
$lastContainer= ' itemContainerLast';
else
$lastContainer='';
?>

<div class="itemContainer<?php echo $lastContainer; ?>"<?php echo (count($this->leading)==1)? '' : ' style="width:'.number_format(100/$this->params->get('num_leading_columns'), 1).'%;"'; ?>>
<?php
// Load category_item.php by default
$this->item=$item;
echo $this->loadTemplate('item');
?>
</div>
<?php if(($key+1)%($this->params->get('num_leading_columns'))==0): ?>
<div class="clr"></div>
<?php endif; ?>
<?php endforeach; ?>
<div class="clr"></div>
</div>
<?php endif; ?>

Просто вызываем category_item.php
Код:
<?php if(isset($this->leading) && count($this->leading)): ?>
<!-- Leading items -->
<div id="itemListLeading">
        <?php
            $item = reset($this->leading);
$this->item=$item;
echo $this->loadTemplate('item');
?>

<div class="clr"></div>
</div>
<?php endif; ?>

Остальное - Primary items, Secondary items - до Link items лучше удалить, т.к. они будут использовать уже переделанную category_item.php, что приведёт к ошибкам.


ПЕРЕДЕЛКА CATEGORY_ITEM.PHP

После 17 строки создаём заголовок таблицы
Код:
<table class="tablecatalog">
    <thead>
      <tr>
        <th><span class="catItemExtraFieldsLabel">Название<br/>(для просмотра подробностей щёлкните мышью)</span></th>
          <?php if($this->item->params->get('catItemExtraFields') && count($this->item->extra_fields)): ?>
          <?php foreach ($this->item->extra_fields as $key1=>$extraField): ?>
        <th><span class="catItemExtraFieldsLabel"><?php echo $extraField->name; ?></span></th>
      <?php endforeach; ?>
          <?php endif; ?>
  </tr>
    </thead>

Дальше переносим функции category.php в category_item.php - открываем счётчик Leading items (количество строк таблицы до пагинации, которое указывается в свойствах категории - "Количество основных материалов")
Код:
<?php foreach($this->leading as $key=>$item): ?>
<?php
// Define a CSS class for the last container on each row
if( (($key+1)%($this->params->get('num_leading_columns'))==0) || count($this->leading)<$this->params->get('num_leading_columns') )
$lastContainer= ' itemContainerLast';
else
$lastContainer='';
?>
<?php
$this->item=$item;
?>

После 46 строки вместо заголовка материала
Код:
  <h3 class="catItemTitle">
  <?php if ($this->item->params->get('catItemTitleLinked')): ?>
<a href="<?php echo $this->item->link; ?>">
  <?php echo $this->item->title; ?>
  </a>
  <?php else: ?>
  <?php echo $this->item->title; ?>
  <?php endif; ?>

Начинаем первую ячейку строки
Код:
      <tr>
  <td class="catItemTitle">
  <?php if ($this->item->params->get('catItemTitleLinked')): ?>
<a href="<?php echo $this->item->link; ?>">
  <?php echo $this->item->title; ?>
  </a>
  <?php else: ?>
  <?php echo $this->item->title; ?>
  <?php endif; ?>
  </td>

Строка 65 - удаляем закрывающий тег </h3> - он нам больше не нужен

Дальше вместо отображения дополнительных полей (строка 101)
Код:
  <?php if($this->item->params->get('catItemExtraFields') && count($this->item->extra_fields)): ?>
  <!-- Item extra fields -->
  <div class="catItemExtraFields">
  <h4><?php echo JText::_('Additional Info'); ?></h4>
  <ul>
<?php foreach ($this->item->extra_fields as $key=>$extraField): ?>
<li class="<?php echo ($key%2)? "odd" : "even"; ?> type<?php echo ucfirst($extraField->type); ?> group<?php echo $extraField->group; ?>">
<span class="catItemExtraFieldsLabel"><?php echo $extraField->name; ?></span>
<span class="catItemExtraFieldsValue"><?php echo $extraField->value; ?></span>
</li>
<?php endforeach; ?>
</ul>
    <div class="clr"></div>
  </div>
  <?php endif; ?>

Создаём для них ячейки
Код:
      <?php if($this->item->params->get('catItemExtraFields') && count($this->item->extra_fields)): ?>
        <?php foreach ($this->item->extra_fields as $key=>$extraField): ?>
    <td>
<span class="catItemExtraFieldsLabel"><?php echo $extraField->value; ?></span>
</td>
    <?php endforeach; ?>
        <?php endif; ?>
</tr>

Ну, и в самом конце файла завершаем счётчик Leading items и закрываем таблицу
Код:
<?php endforeach; ?>
</table>

Вот, вроде, и всё. Почему пришлось передавать счётчик из category.php в category_item.php - потому что иначе при каждом вызове category_item.php над таблицей образовывалась одна паразитная пустая строка. Стало быть, сколько строк в таблице отображалось, на столько строк она вниз и уезжала  Grin

ЗЫ: В принципе, вместо дополнительных полей можно использовать что угодно - от заставочной картинки до интротекста, алгоритм я описал. Ежели где был невнимателен, и ошибся (т.е. работать не будет) - вышлю полностью шаблон.
Записан
asdf27
Осваиваюсь на форуме
***

Репутация: +7/-0
Offline Offline

Пол: Мужской
Сообщений: 120



« Ответ #27 : 28.02.2012, 19:28:24 »

Спасибо, кому-то пригодится. Но я не про это спрашивал Azn

Допустим, у нас есть доп.поле с пунктами Один, Два и Три. Каждый имеет переменную, например $odin, $dva и $tri. Я про это говорил, можно ли отследить конкретный пункт из доп.полей и вывести его где угодно?

Из вашего кода я понял, что поля перечисляются по-очереди, обрамляясь в ячейку. Плюс уже поставил Azn
Записан
EWG65
Захожу иногда
**

Репутация: +4/-0
Offline Offline

Пол: Мужской
Сообщений: 11


« Ответ #28 : 28.02.2012, 19:35:29 »

Допустим, у нас есть доп.поле с пунктами Один, Два и Три. Каждый имеет переменную, например $odin, $dva и $tri. Я про это говорил, можно ли отследить конкретный пункт из доп.полей и вывести его где угодно?
Ну, я же название в отдельную ячейку обрамлял. С тем же успехом любой из элементов можно обрамить в ячейку. Так, как Вы говорите - не пробовал, но думаю, работать тоже будет. Всё равно для каждого материала чтобы извлечь доп. поля в переменные нужно строить этот, первый счётчик. А потом - с тем же успехом можно не по выборке, а для каждой переменной отдельно нарисовать ячейку.
Ежели Вы в кажом материале будете вытаскивать одни и те же поля в одни и те же переменные - они и получался в одних и тех же столбцах. Или я опять Вас неправильно понял?

Плюс уже поставил Azn
Спасибо Azn
Записан
asdf27
Осваиваюсь на форуме
***

Репутация: +7/-0
Offline Offline

Пол: Мужской
Сообщений: 120



« Ответ #29 : 28.02.2012, 21:01:47 »

Где ловить переменную?
Записан
Страниц: [1] 2  Все   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet