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

Статус
В этой теме нельзя размещать новые ответы.

baldins

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

Как и было, через 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);
}
}

?>

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

вот весь Для просмотра ссылки Войди или Зарегистрируйся
 
с модулем все ок. смотри в шаблон вывода товара catalog_product.html
или выложи его сюда
 
он лежит в этом же архиве в catalog\.default\tpl\catalog_product.htm, я только закоментировал обсудить в форумк, карзину и связные товары, вот мой рабочий Для просмотра ссылки Войди или Зарегистрируйся
 
все прекрасно работает. может в группах свойства продублировал с разных групп?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху