Joomla 1.5 VirtueMart 1.14 Типы товара в две колонки + вывод

Discussion in 'Магазины, электронная коммерция' started by Dizzy, May 15, 2010.

  1. Offline

    Dizzy Недавно здесь

    Joined:
    Sep 22, 2009
    Messages:
    5
    Likes Received:
    1
    Gender:
    Male
    Всем привет!
    Помогите решить таких два вопроса:
    Делаю сайт по продаже автомобилей. Необходимо вывести типы товара в две колонки, по скольку их много и у каждого много параметров в одну колонку как оно реализовано в виртумарте по умолчанию, то получается слишком длинная страница и не красиво выглядит это дело с краю :)
    Вот пример того как оно должно быть реализовано:
    http://www.drive.ru/mitsubishi/models/2005/l_200/cc_invite_mt_s01

    И второй вопрос:

    Необходимо вывести под описанием и типами товара другие товары из этой же категории но в виде таблицы (flypage):

    id товара type_param_id * type_param_id * type_param_id * type_param_id * type_param_id * type_param_id *

    Тоесть как опять же на этой странице:
    http://www.drive.ru/mitsubishi/models/2005/l_200/cc_invite_mt_s01

    atributes.jpg

    Пробывал вставлять код с id парамтеров типов но видимо ошибаюсь в ситнтаксисе..


    Поможите кто чем может :)
     
    Last edited by a moderator: Nov 25, 2014
  2.  
  3. Offline

    Dizzy Недавно здесь

    Joined:
    Sep 22, 2009
    Messages:
    5
    Likes Received:
    1
    Gender:
    Male
    Такой вопрос, может кто знает как вывести конкретный параметр типа товара?
    Я вывожу так <?php echo $product_type_params ['power'] ;?>
    но ничего не выводит :( может ошибка в чем то? или необходимо задавать и id типа тоже?
     
  4. Gronpipmaster
    Offline

    Gronpipmaster Недавно здесь => Cпециалист <=

    Joined:
    Jan 21, 2009
    Messages:
    1,392
    Likes Received:
    62
    Gender:
    Male
    Dizzy, пилить надо на счет этого вирт, он может по умолчанию вывести только в столбик, пробовал пилить так и не вышло, юзал их только для поиска, и то потом убрал из товара, оставил только для поиска, а текст который нужен через редактор, хотя может есть решение, но не нашел его
     
  5. Offline

    morph Пользователь

    Joined:
    Apr 5, 2007
    Messages:
    158
    Likes Received:
    10
    Gender:
    Male
    вывести в таблицу не проблема.хотя я бы воабше в нескольких типах не делал бы...шипко грузит.сделал бы в одном списке...но думаю тут своя логика
    components\com_virtuemart\themes\default\templates\common\product_type.tpl.php
    в цикл вводить условия,щетчик;
    $i =1
    if ($i == 1) {
    <tr>
    }


    и потом
    if ($i == количество столбцов) {
    </tr>
    $i = 1;
    }
    }
    else $i++;
    вот и будет по столбцам биться

    З.Ы. просто так параметр хоть где не вывести
    http://design.markcallf.co.uk/downloads/product-type/
    вроде это
     
    Last edited: May 17, 2010
  6. Offline

    Dizzy Недавно здесь

    Joined:
    Sep 22, 2009
    Messages:
    5
    Likes Received:
    1
    Gender:
    Male
    Спасибо большое!
    Только вот как оно должно выглядеть в самом коде? я Просто боюсь ошибиться и топтаться опять на месте..

    <?php
    foreach( $product_types as $product_type ) { // Loop through all recent products
    foreach( $product_type as $attr => $val ) {
    //echo $attr." - ".$val."<br />";
    $this->set( $attr, $val );

    }

    ?><br /><table width="100%" cellspacing="0" cellpadding="0" border="0">
    <tr><td colspan="2"><strong><?php
    echo $product_type["product_type_name"];
    ?></strong></td></tr><?php
    $i = 0;
    if ( !empty( $product_type["parameters"] ) ) {
    foreach( $product_type["parameters"] as $product_type_params ) {
    foreach( $product_type_params as $attr => $val ) {
    $this->set( $attr, $val );
    }
    if ( $i++ % 2 ) {
    $bgcolor = 'row0';
    }
    else {
    $bgcolor = 'row1';
    }
    if ( $i > $product_type["product_type_count_params"] ) {
    break;
    }

    ?><tr class="<?php echo $bgcolor;?> height="18">
    <td width="30%"><?php echo $product_type_params["parameter_label"];

    if ( !empty($product_type_params["tooltip"] ) ) { ?>
    &nbsp;<?php echo $product_type_params["tooltip"];
    }
    ?>
    </td><td><?php echo $product_type_params["parameter_value"];

    if ( !empty($product_type_params["unit"] ) ) {
    echo " ".$product_type_params["unit"];
    } ?>
    </td></tr>
    <?php
    }
    }
    ?>
    </table><?php
    }
    ?>
     
  7. Offline

    Dizzy Недавно здесь

    Joined:
    Sep 22, 2009
    Messages:
    5
    Likes Received:
    1
    Gender:
    Male
    Разобрался с помощью знакомого программера, код должен выглядеть так:

    <?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die(
    'Direct Access to '.basename(__FILE__).' is not allowed.' ); ?>
    <?php if( empty($product_types)) return;
    /**
    * Available indexes:
    *
    * $product_type_params["parameter_label"] => The label for each product type parameter
    * $product_type_params["parameter_description"] => The description of each product type parameter
    * $product_type_params["tooltip"] => Same as above but wrapped in a tooltip
    * $product_type_params["parameter_value"] => The actual value of the parameter for this product
    * $product_type_params["parameter_unit"] => The unit of the parameter
    * $product_type["product_type_name"] => The name of the product type
    *
    */
    ?>
    <!-- Tables of product_types -->

    <?php

    $half=ceil(count($product_types)/2);
    echo "<table><tr valign='top'><td width='50%'>";
    $j=0;
    foreach( $product_types as $product_type ) { // Loop through all recent products
    foreach( $product_type as $attr => $val ) {
    //echo $attr." - ".$val."<br />";
    $this->set( $attr, $val );

    }

    if ($j==$half) echo "</td><td>";
    $j++;

    ?><br /><table width="100%" cellspacing="0" cellpadding="0" border="0">
    <tr><td colspan="2"><strong><?php
    echo $product_type["product_type_name"];
    ?></strong></td></tr><?php
    $i = 0;

    if ( !empty( $product_type["parameters"] ) ) {
    foreach( $product_type["parameters"] as $product_type_params ) {
    foreach( $product_type_params as $attr => $val ) {
    $this->set( $attr, $val );
    }
    if ( $i++ % 2 ) {
    $bgcolor = 'row0';
    }
    else {
    $bgcolor = 'row1';
    }
    if ( $i > $product_type["product_type_count_params"] ) {
    break;
    }

    echo '<tr class="'.$bgcolor.'" height="5">';
    ?>


    <td width="50%"><?php echo
    $product_type_params["parameter_label"];

    if ( !empty($product_type_params["tooltip"] ) ) { ?>
    &nbsp;<?php echo $product_type_params["tooltip"];
    }
    ?>
    </td><td align=right><?php echo
    $product_type_params["parameter_value"];

    if ( !empty($product_type_params["unit"] ) ) {
    echo " ".$product_type_params["unit"];
    } ?>
    </td></tr>
    <?php

    }
    }
    ?>
    </table><?php
    }
    echo "</td></tr></table>";
    ?>
     
    morph likes this.
  8. Offline

    tamaz Пользователь

    Joined:
    Feb 9, 2011
    Messages:
    66
    Likes Received:
    2
    Gender:
    Male
    Помогите вывести конкретный параметр типа товара!!
    Тоже так пробовал выводить <?php echo $product_type_params ['power'] ;?>


    но ничего не выводит может ошибка в чем то?
    или необходимо задавать и id типа тоже?

    Это то что надо , но вот только походу доб старый витртуемарт, в совоём не нашёл эту строку

    [!!!]
     
  9. Offline

    tamaz Пользователь

    Joined:
    Feb 9, 2011
    Messages:
    66
    Likes Received:
    2
    Gender:
    Male

    Братья :) поднимаю топик, дабы нуждаюсь в Вашей помощи :ups:


    Как вывести параметры типа раздельно, а не всей кучей как через <?php echo $product_type ?>.
     

Share This Page

Loading...