ошибка вывода характеристик товара

Тема в разделе "ABO CMS", создана пользователем baldins, 5 мар 2010.

Статус темы:
Закрыта.
  1. baldins

    baldins Создатель

    Регистр.:
    7 сен 2009
    Сообщения:
    26
    Симпатии:
    0
    Есть проблема вывода характеристик товара,Версия 5.1. почему то выводит одну динамическую характеристику в 4 строки, как с этим бороться, помогите разобраться с Перейти по ссылке
     
  2. ToyotaLC

    ToyotaLC

    Регистр.:
    1 авг 2006
    Сообщения:
    176
    Симпатии:
    87
    Скрин прикрепи, а то так не совсем понятно, что ты имеешь ввиду.
     
  3. baldins

    baldins Создатель

    Регистр.:
    7 сен 2009
    Сообщения:
    26
    Симпатии:
    0
    Так и никто не подскажет???
     
  4. picasik

    picasik Постоялец

    Регистр.:
    13 ноя 2006
    Сообщения:
    81
    Симпатии:
    21
    Покажи запрос, которым ты вытягиваешь динамические характеристики
     
  5. baldins

    baldins Создатель

    Регистр.:
    7 сен 2009
    Сообщения:
    26
    Симпатии:
    0
    Вложение

    Как и было, через class.catalogDB.php

    <?php
    class CCatalogData_DB extends TObject {
    var $id = NULL;
    var $category_id = NULL;
    var $product_title = NULL;
    var $product_description = NULL;
    var $image_middle = NULL;
    var $product_availability = NULL;
    var $leader = NULL;
    var $rank = NULL;
    var $alias = NULL;
    function CCatalogData_DB ($table, $PK) {
    $this->TObject($table, $PK);
    }

    function getProduct ($id = null) {
    global $admin;
    if ($admin) $active_str = " AND active = 1";
    if (!isset($id)) return FALSE;
    $sql = "
    SELECT
    a.id AS product_id,
    a.category_id AS product_category,
    a.product_title AS product_title,
    a.product_description AS product_description,
    a.image_middle AS image_middle,
    a.product_availability AS product_availability,
    a.rank AS product_rank,
    a.leader AS product_leader
    FROM
    $this->_tbl a
    WHERE
    a.id = ".$id."
    $active_str";
    $reqult = db_loadObject($sql, $this);
    return $result;
    }

    function getProducts ($id = null, $order_by = '', $rows = '', $start = 0, $admin = 0)
    {
    global $CONFIG;

    $ord_vals = array('id' => 'id',
    'title' => 'product_title',
    'availability' => 'product_availability',
    'rank' => 'rank',
    'active' => 'active',
    'leader' => 'leader',
    'hits' => 'hits');
    $order = 0 === strpos($order_by, "-") ? " DESC" : "";
    $order_by = $order ? substr($order_by, 1) : $order_by;
    if (in_array($order_by, array_keys($ord_vals))) {
    $order = $ord_vals[$order_by].$order;
    } else {
    $order = $CONFIG['catalog_prod_order_by'];
    }

    if (!$admin) $active_str = " AND active = 1";
    if (!isset($id)) return FALSE;
    $sql = "
    SELECT
    a.id AS product_id,
    a.category_id AS product_category,
    a.group_id AS group_id,
    a.ptype_id AS ptype_id,
    a.product_code AS product_code,
    a.product_title AS product_title,
    a.product_inf AS product_inf,
    a.product_description AS product_description,
    a.currency AS currency,
    a.price_1 AS price_1,
    a.price_2 AS price_2,
    a.price_3 AS price_3,
    a.price_4 AS price_4,
    a.price_5 AS price_5,
    a.product_description AS product_description,
    a.image_middle AS image_middle,
    a.image_big AS image_big,
    a.product_availability AS product_availability,
    a.active AS product_active,
    a.rank AS product_rank,
    a.leader AS product_leader,
    a.hits AS product_hits,
    a.owner_id,
    a.usr_group_id,
    a.rights
    FROM
    $this->_tbl a
    WHERE
    a.category_id = $id
    $active_str
    ORDER BY ".$order;
    isset($start) ? $sql .= ' LIMIT '.$start : '';
    isset($start) && $rows > 0 ? $sql .= ', '.$rows : '';
    return db_loadList($sql);
    }

    function getProperties ($id = null) {
    if (!isset($id)) return 0;
    $sql = "
    SELECT
    b.id AS property_id,
    b.property_title AS property_title,
    b.property_prefix AS property_prefix,
    c.value AS property_value,
    b.property_suffix AS property_suffix
    FROM
    $this->_tbl a,
    rus_catalog_properties_table b,
    rus_catalog_property_values c,
    rus_catalog_references d,
    rus_catalog_groups e
    WHERE
    a.id = '".$id."'
    AND
    d.product_id = '".$id."'
    AND
    c.product_id = '".$id."'
    AND
    e.id = d.group_id
    AND
    c.property_id = b.id
    AND
    c.group_id = d.group_id
    ";
    return db_loadList($sql);
    }

    function getGroup ($id = null) {
    }

    }
    class CCatalogCategories_DB extends TObject {
    var $id = NULL;
    var $cleft = NULL;
    var $cright = NULL;
    var $clevel = NULL;
    var $parent_id = NULL;
    var $active = NULL;
    var $title = NULL;
    var $group_id = 0;
    var $description = NULL;
    var $img = NULL;
    var $rank = NULL;
    var $page_description = NULL;
    var $keywords = NULL;
    var $alias = NULL;

    function CCatalogCategories_DB ($table, $PK) {
    $this->TObject($table, $PK);
    }

    function listByNav( $parent_id, $limit=null, $order_by = null ) {
    $sql = "SELECT * FROM $this->_tbl WHERE clevel != 0 AND parent_id = '$parent_id' $order_by LIMIT $limit";
    return db_loadList( $sql );
    }

    function listAll($parent_id = 1, $active_str = null, $limit=null) {
    global $CONFIG;

    $parent_id = (int)$parent_id;
    if (isset($parent_id)) $parent_id = " AND parent_id = $parent_id";
    $sql = "SELECT * FROM $this->_tbl WHERE clevel != 0 $parent_id $active_str ORDER BY ".$CONFIG['catalog_ctg_order_by']." $limit";
    $sql = db_loadList($sql);
    return $sql;
    }

    function insert() {
    if (db_insertObject($this->_tbl, $this)) return true;
    else return false;
    }

    function countObjs($id = 1) {
    $sql="SELECT count(1) FROM $this->_tbl WHERE clevel != 0 AND parent_id = '$id'";
    return db_loadResult($sql);
    }

    function getLevel ($id) {
    $sql = "SELECT clevel FROM $this->_tbl WHERE id = $id";
    return db_loadResult($sql);
    }
    }

    ?>

    Извиняюсь что не отдельным файлом выложил
     
  6. picasik

    picasik Постоялец

    Регистр.:
    13 ноя 2006
    Сообщения:
    81
    Симпатии:
    21
    Смотри файл class.CatalogPrototype.php
    функцию getProductDynamicProperies
    здесь формируется массив динамических характеристик.
    проверь вывод в case "shwprd":
    после строки $prp = $this->getProductDynamicProperies($request_id);
    лучше выложи где-то темплит вывода товара и файлы с папки /mod/catalog/lib/ , а то так долго гадать будем )
     
  7. baldins

    baldins Создатель

    Регистр.:
    7 сен 2009
    Сообщения:
    26
    Симпатии:
    0
    Да там вроде все нормально, может в темплите только, там есть яваскрипт, который рисует таблицу и записывает данные в нее, но я не силен в ява...Помогите плиз...

    вот весь Перейти по ссылке
     
  8. picasik

    picasik Постоялец

    Регистр.:
    13 ноя 2006
    Сообщения:
    81
    Симпатии:
    21
    с модулем все ок. смотри в шаблон вывода товара catalog_product.html
    или выложи его сюда
     
  9. baldins

    baldins Создатель

    Регистр.:
    7 сен 2009
    Сообщения:
    26
    Симпатии:
    0
    он лежит в этом же архиве в catalog\.default\tpl\catalog_product.htm, я только закоментировал обсудить в форумк, карзину и связные товары, вот мой рабочий Перейти по ссылке
     
  10. picasik

    picasik Постоялец

    Регистр.:
    13 ноя 2006
    Сообщения:
    81
    Симпатии:
    21
    все прекрасно работает. может в группах свойства продублировал с разных групп?
     
Статус темы:
Закрыта.