Новости Joomla

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

si@m

  • Захожу иногда
  • 162
  • 2 / 0
Хочу переделать свой browse_listtable.tpl что бы он выглядел так же как здесь http://www.dz-98pro.ru/zapchasti-avtogreydera/kabina/ но не могу самостоятельно разобраться, в коде не оч. силен, нужно сделать такую же таблицу, чтобы товар описывался в две строки, то есть первая строка таблицы это наименование товара, артикул и цена, а во второй строке все остальное ( картинка, краткое описание, форма добавления в корзину.) В заголовке таблицы удалил строки отвечающие за вывод заголовков: "Изображение" "Описание" "Обновить" а вот как дальше ни как не догоню. Так выглядит у меня browse_listtable.tpl.php
Код
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
mm_showMyFileName(__FILE__); ?>

<?php echo $buttons_header // The PDF, Email and Print buttons ?>
<?php echo $browsepage_header // The heading, the category description ?>
<?php echo $parameter_form // The Parameter search form ?>
<?php echo $orderby_form // The sort-by, order-by form PLUS top page navigation ?>

<?php
$data =array(); // Holds the rows of products
$i = 1; $row = 0; // Counters

// Table header
$tableheader[] = $VM_LANG->_('PHPSHOP_CART_NAME');
$tableheader[] = $VM_LANG->_('PHPSHOP_CART_SKU');
if( _SHOW_PRICES && $auth['show_prices'] ) {
$tableheader[] = $VM_LANG->_('PHPSHOP_CART_PRICE');}

// Creates a new HTML_Table object that will help us
// to build a table holding all the products
$table = new HTML_Table('class="category" width="98%"');

$table->addRow( $tableheader, 'class="sectiontableheader"', 'th', true );

foreach( $products as $product ) {

foreach( $product as $attr => $val ) {
// Using this we make all the variables available in the template
// translated example: $this->set( 'product_name', $product_name );
$this->set( $attr, $val );
}

$data[$row][] = '<a href="'.$product['product_flypage'].'" title="'.$product['product_name'].'">'.$product['product_name'].'</a>';
$data[$row][] = $product['product_sku'];
if( _SHOW_PRICES && $auth['show_prices'] ) {
$data[$row][] = $product['product_price'];
}
$data[$row][] = '<a href="'.$product['product_flypage'].'" title="'.$product['product_name'].'">'
. ps_product::image_tag( $product['product_thumb_image'] )
. '</a>';

$data[$row][] = $product['product_s_desc'];
if( $product['has_addtocart'] ) {
$data[$row][] = $product['form_addtocart'];
}
else {
$data[$row][] = '<a href="'.$product['product_flypage'].'" title="'.$product['product_name'].'">'
. $product['product_details']
. '</a>';
}

$row++;

}


// Loop through each row and build the table
foreach($data as $key => $value) {

$table->addRow( $data[$key], 'class="sectiontableentry'.$i.'"', 'td', true );
$i = $i == 1 ? 2 : 1;
}
// Display the table
echo $table->toHtml();
?>
<br class="clr" /><br />
<?php echo $browsepage_footer ?>
<?php
// Show Featured Products
if( $this->get_cfg( 'showFeatured', 1 )) {
    /* featuredproducts(random, no_of_products,category_based) no_of_products 0 = all else numeric amount
    edit featuredproduct.tpl.php to edit layout */
    echo $ps_product->featuredProducts(true,10,true);
} ?>
<?php echo $recent_products ?>
*

si@m

  • Захожу иногда
  • 162
  • 2 / 0
Как вывести один товар в две строки разобрался, после этого:
Код
if( _SHOW_PRICES && $auth['show_prices'] ) {$data[$row][] = $product['product_price'];}
вставил $row++ ; в итоге получилось так
Код
if( _SHOW_PRICES && $auth['show_prices'] ) {$data[$row][] = $product['product_price'];}

$row++ ; //начать новую строку

$data[$row][] = '<a href="'.$product['product_flypage'].'" title="'.$product['product_name'].'">'
Но осталась еще одна трудность, в первой строке у меня выводятся наименование, артикул, цена, а во второй все остальное, и мне теперь нужно объединить ячейки каждой второй строки и куда мне прописывать
Код
collspan="3"
не могу сообразить?
*

fsv

  • Moderator
  • 2781
  • 411 / 2
Со ссылкой теперь понятно, что надо.
Частично похожее делал.
Попробовал бы не через строку выводить, а в каждой, но вывод следующий:
1 ст.:  наименование+перенос строки+(горизонтальная линия, если нужна)+картинка+неразрывные пробелы+краткое описание
2 ст.: артикул+перенос строки+(горизонтальная линия, если нужна)+форма "в корзину"
3 ст.: цена
Веб-разработка: заказ. Только новая разработка.
*

si@m

  • Захожу иногда
  • 162
  • 2 / 0
fsv спасибо за совет, мне это наверное не подойдет, после того как я приведу таблицу в нужный мне вид, дальше буду подключать скрипт который будет открывать и закрывать каждую вторую строку таблицы. То есть как в примере с первого поста, только скрипт будет другой.
*

si@m

  • Захожу иногда
  • 162
  • 2 / 0
Я уже и скрипт прикрутил, работает как надо, осталось отредактировать таблицу, может найдется кто ни будь кто подскажет где и как прописать collspan ?
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
это тебе нужно при формировании таблицы отслеживать:
Код
foreach($data as $key => $value) {

$table->addRow( $data[$key], 'class="sectiontableentry'.$i.'"', 'td', true );
$i = $i == 1 ? 2 : 1;
}
почитайте описание к методу addRow. Вам нужно вместо  'class="sectiontableentry'.$i.'"' использовать массив атрибутов и вместо последнего парамтра true поставить false.
*

si@m

  • Захожу иногда
  • 162
  • 2 / 0
Сейчас попробую разобраться, спасибо за наводку)))
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
Вам нужно паралельно с формирование $data[] формировать второй массив с атрибутами td, например $data_atrib[], и у нужных td ставить colspan. Я просто не знаю у каких td Вам это нужно.
А потом $table->addRow( $data[$key], $data_atrib[$key], 'td', false );
*

si@m

  • Захожу иногда
  • 162
  • 2 / 0
Цитировать
Вам нужно паралельно с формирование $data[] формировать второй массив с атрибутами td, например $data_atrib[], и у нужных td ставить colspan. Я просто не знаю у каких td Вам это нужно.
А потом $table->addRow( $data[$key], $data_atrib[$key], 'td', false );
Для меня это пока еще тяжело, я понимаю то что вы советуете, но сделать правильно не получается. В моем случае нужно объединить td в которых выводятся: картинка, краткое описание, форма добавления в корзину. Если посмотрите по ссылке то сами поймете http://ural-as.com/component/virtuemart/category/13-kardannaya-peredacha Просто щелкните по строке и откроется все что нужно объединять.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывод производителя не как ссылка

Автор StivinKing

Ответов: 1
Просмотров: 1531
Последний ответ 12.11.2014, 03:34:56
от evgen777
Вывод модуля везде, кроме определенных категорий

Автор katjuha6

Ответов: 18
Просмотров: 4299
Последний ответ 13.01.2014, 15:24:40
от Fedor Vlasenko
Вывод свойств товара в виде кнопок с подсветкой выбранного свойства

Автор flashinfo

Ответов: 0
Просмотров: 1694
Последний ответ 01.10.2013, 16:00:24
от flashinfo
Вывод дочернего товара на странице родительского товара

Автор pvk

Ответов: 0
Просмотров: 1308
Последний ответ 17.06.2013, 01:34:06
от pvk
Вывод товаров в категории

Автор akhalex38

Ответов: 3
Просмотров: 1600
Последний ответ 04.06.2013, 00:19:49
от akhalex38