0 Пользователей и 1 Гость просматривают эту тему.
  • 42 Ответов
  • 7724 Просмотров
*

Arsonist

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

Dorfman

  • Живу я здесь
  • 1148
  • 74
  • Почти влез...
Re: Каталог статей в виде таблицы
« Ответ #1 : 23.02.2012, 11:54:36 »
Ну, в настройках категории указываешь на показ только заголовки статей как ссылки, остальное пишешь "скрыть". Правда, ещё придётся немного шаблон вывода категории К2 подправить, т.к. заголовки будут выводиться как тэги <h3> (или даже h2 - я уже не помню, какие они там по умолчанию).
*

Arsonist

  • Осваиваюсь на форуме
  • 26
  • 0
Re: Каталог статей в виде таблицы
« Ответ #2 : 26.02.2012, 03:27:19 »
Дело в том, что у меня на сайте будет несколько каталогов статей, поэтому весь шаблон вывода я править не могу. Это нужно только для одного из каталогов, в остальных шаблон по умолчанию вполне устраивает. Как лучше поступить?
*

tefun

  • Практически профи
  • 2614
  • 129
  • Легче всего обмануть себя
Re: Каталог статей в виде таблицы
« Ответ #3 : 26.02.2012, 10:25:36 »
хорошая тема, тоже интересует, спрашивал в другой теме, пока там ответа нет :( а иногда так надо таблицу
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

yrygvay

  • Живу я здесь
  • 1288
  • 32
Re: Каталог статей в виде таблицы
« Ответ #4 : 26.02.2012, 12:12:14 »
Мне самому тоже очень нужно для сайта шаблон вывода в виде таблицы как в старом добром VirtueMarte.
Смотрю....
*

Dorfman

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

asdf27

  • Осваиваюсь на форуме
  • 120
  • 7
Re: Каталог статей в виде таблицы
« Ответ #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. Если разобрались, аттачим к теме для остальных.
ICQ 8178914
*

yrygvay

  • Живу я здесь
  • 1288
  • 32
Re: Каталог статей в виде таблицы
« Ответ #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

  • Осваиваюсь на форуме
  • 120
  • 7
Re: Каталог статей в виде таблицы
« Ответ #8 : 27.02.2012, 12:05:11 »
То, что вы описали, выглядит примерно так:

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

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

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

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

asdf27

  • Осваиваюсь на форуме
  • 120
  • 7
Re: Каталог статей в виде таблицы
« Ответ #9 : 27.02.2012, 12:06:44 »
Если вы имеете ввиду сделать не только ссылки, а примерно так устарело , то могу прикрепить шаблон.
« Последнее редактирование: 20.10.2013, 14:53:03 от asdf27 »
ICQ 8178914
*

tefun

  • Практически профи
  • 2614
  • 129
  • Легче всего обмануть себя
Re: Каталог статей в виде таблицы
« Ответ #10 : 27.02.2012, 12:13:34 »
примерно надо так http://imageshost.ru/links/e3de819d00dafe129d6a63a2ea2150f1 (ну лично мне, только стобец цена не нужен)
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

asdf27

  • Осваиваюсь на форуме
  • 120
  • 7
Re: Каталог статей в виде таблицы
« Ответ #11 : 27.02.2012, 16:57:32 »
На досуге помогу
ICQ 8178914
*

yrygvay

  • Живу я здесь
  • 1288
  • 32
Re: Каталог статей в виде таблицы
« Ответ #12 : 27.02.2012, 18:00:15 »
примерно надо так http://imageshost.ru/links/e3de819d00dafe129d6a63a2ea2150f1 (ну лично мне, только стобец цена не нужен)

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

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

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

asdf27

  • Осваиваюсь на форуме
  • 120
  • 7
Re: Каталог статей в виде таблицы
« Ответ #13 : 27.02.2012, 19:01:50 »
Название наверно лучше будет сверху картинки?
ICQ 8178914
*

tefun

  • Практически профи
  • 2614
  • 129
  • Легче всего обмануть себя
Re: Каталог статей в виде таблицы
« Ответ #14 : 27.02.2012, 19:14:06 »
asdf27- Были бы вам очень признательны!
возможно, добавят в FAQ
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

asdf27

  • Осваиваюсь на форуме
  • 120
  • 7
Re: Каталог статей в виде таблицы
« Ответ #15 : 27.02.2012, 19:50:33 »
возможно, добавят в FAQ

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

asdf27

  • Осваиваюсь на форуме
  • 120
  • 7
Re: Каталог статей в виде таблицы
« Ответ #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 »
ICQ 8178914
*

tefun

  • Практически профи
  • 2614
  • 129
  • Легче всего обмануть себя
Re: Каталог статей в виде таблицы
« Ответ #17 : 27.02.2012, 19:58:18 »
лови +
заработал :)
спасибо

PS поюзаю отпишусь
а шапку? >:(
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

yrygvay

  • Живу я здесь
  • 1288
  • 32
Re: Каталог статей в виде таблицы
« Ответ #18 : 27.02.2012, 20:09:33 »
Спасибо большое. Опробуем.
если всё ок. добавим в FAQ или прикрепим тему
Смотрю....
*

asdf27

  • Осваиваюсь на форуме
  • 120
  • 7
Re: Каталог статей в виде таблицы
« Ответ #19 : 27.02.2012, 20:50:48 »
а шапку? >:(

С шапкой трабла, т.к. он дублирует её после каждой статьи. Но я знаю где копать... на досуге :)
ICQ 8178914
*

tefun

  • Практически профи
  • 2614
  • 129
  • Легче всего обмануть себя
Re: Каталог статей в виде таблицы
« Ответ #20 : 27.02.2012, 21:17:10 »
С шапкой трабла, т.к. он дублирует её после каждой статьи. Но я знаю где копать... на досуге :)
ну как и вирт :) ждемс
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

asdf27

  • Осваиваюсь на форуме
  • 120
  • 7
Re: Каталог статей в виде таблицы
« Ответ #21 : 27.02.2012, 23:35:50 »
В аттаче, адрес прежний  ^-^

[вложение удалено Администратором]
ICQ 8178914
*

staticlight

  • Moderator
  • 1090
  • 65
  • Staticlight
Re: Каталог статей в виде таблицы
« Ответ #22 : 28.02.2012, 10:37:59 »
Перенес тему.
Руководитель отдела сервисного обслуживания систем безопасности.
Устали от com_content - поставьте com_k2.
TRIPLE "F" POWER: Firefox+FireShot+Firebug. Chrome + Ctrl+Shift+I
*

EWG65

  • Захожу иногда
  • 11
  • 4
Re: Каталог статей в виде таблицы
« Ответ #23 : 28.02.2012, 17:18:31 »
Когда-то делал нечто подобное, только без картинок.
Задача была - выводить в виде таблицы название материала, как ссылка (при нажатии открывается сам материал), и три дополнительных поля. В принципе, можно туда и картинку присобачить.
Только шаблон делал под k2 v2.4.1, надо смотреть, не поменялось ли чего в структуре шаблона под v2.5.4. В этом шаблоне используется только количество основных материалов, оно показывает, сколько строк будет в таблице до пагинации.
*

asdf27

  • Осваиваюсь на форуме
  • 120
  • 7
Re: Каталог статей в виде таблицы
« Ответ #24 : 28.02.2012, 17:25:27 »
Можете привести код отдельного вызова полей? Т.е. у вас определенная колонка выводит определенное поле. Как?
ICQ 8178914
*

tefun

  • Практически профи
  • 2614
  • 129
  • Легче всего обмануть себя
Re: Каталог статей в виде таблицы
« Ответ #25 : 28.02.2012, 17:27:10 »
Когда-то делал нечто подобное, только без картинок.
Задача была - выводить в виде таблицы название материала, как ссылка (при нажатии открывается сам материал), и три дополнительных поля. В принципе, можно туда и картинку присобачить.
Только шаблон делал под k2 v2.4.1, надо смотреть, не поменялось ли чего в структуре шаблона под v2.5.4. В этом шаблоне используется только количество основных материалов, оно показывает, сколько строк будет в таблице до пагинации.
ну вообще прям прорыв :) круто! да с картинками было бы лучше (+эффект лайтбокс)
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

EWG65

  • Захожу иногда
  • 11
  • 4
Re: Каталог статей в виде таблицы
« Ответ #26 : 28.02.2012, 19:10:43 »
Можете привести код отдельного вызова полей? Т.е. у вас определенная колонка выводит определенное поле. Как?
Уффф... Ну, и задаёте Вы задачку, барин. Проще было прислать шаблон :)
Но зато теперь всё по полочкам расписал. Тексту много получилось, т.к. основательно переделывал 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 над таблицей образовывалась одна паразитная пустая строка. Стало быть, сколько строк в таблице отображалось, на столько строк она вниз и уезжала  ;D

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

asdf27

  • Осваиваюсь на форуме
  • 120
  • 7
Re: Каталог статей в виде таблицы
« Ответ #27 : 28.02.2012, 19:28:24 »
Спасибо, кому-то пригодится. Но я не про это спрашивал :)

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

Из вашего кода я понял, что поля перечисляются по-очереди, обрамляясь в ячейку. Плюс уже поставил :)
ICQ 8178914
*

EWG65

  • Захожу иногда
  • 11
  • 4
Re: Каталог статей в виде таблицы
« Ответ #28 : 28.02.2012, 19:35:29 »
Допустим, у нас есть доп.поле с пунктами Один, Два и Три. Каждый имеет переменную, например $odin, $dva и $tri. Я про это говорил, можно ли отследить конкретный пункт из доп.полей и вывести его где угодно?
Ну, я же название в отдельную ячейку обрамлял. С тем же успехом любой из элементов можно обрамить в ячейку. Так, как Вы говорите - не пробовал, но думаю, работать тоже будет. Всё равно для каждого материала чтобы извлечь доп. поля в переменные нужно строить этот, первый счётчик. А потом - с тем же успехом можно не по выборке, а для каждой переменной отдельно нарисовать ячейку.
Ежели Вы в кажом материале будете вытаскивать одни и те же поля в одни и те же переменные - они и получался в одних и тех же столбцах. Или я опять Вас неправильно понял?

Плюс уже поставил :)
Спасибо :)
*

asdf27

  • Осваиваюсь на форуме
  • 120
  • 7
Re: Каталог статей в виде таблицы
« Ответ #29 : 28.02.2012, 21:01:47 »
Где ловить переменную?
ICQ 8178914
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться