Ответить Новая тема Новый опрос 
Всего: 2 < 1 2
 Сортировка свойств товара
ors
Профессионал
Сообщений: 1885
Регистрация: 09-11-2009


25-10-2010 21:49
Код:
static public function getAttributes($id_lang, $notNull = false)
{
  $result=Db::getInstance()->ExecuteS('
  SELECT ag.*, agl.*, a.`id_attribute`, al.`name`, agl.`name` AS `attribute_group`
  FROM `'._DB_PREFIX_.'attribute_group` ag
  LEFT JOIN `'._DB_PREFIX_.'attribute_group_lang` agl ON (ag.`id_attribute_group` = agl.`id_attribute_group` AND agl.`id_lang` = '.intval($id_lang).')
  LEFT JOIN `'._DB_PREFIX_.'attribute` a ON a.`id_attribute_group` = ag.`id_attribute_group`
  LEFT JOIN `'._DB_PREFIX_.'attribute_lang` al ON (a.`id_attribute` = al.`id_attribute` AND al.`id_lang` = '.intval($id_lang).')
  '.($notNull ? 'WHERE a.`id_attribute` IS NOT NULL AND al.`name` IS NOT NULL' : '').'
  ORDER BY agl.`name` ASC, al.`name` ASC');
  
        foreach ($result AS &$row)
        {
            $row['name'] = Category::hideCategoryPosition($row['name']);
        }  
return $result;
}
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
CitizenDild0
Новичок
Сообщений: 74
Регистрация: 24-09-2010


26-10-2010 19:58
Чот ни чо.. Я меняю в файле classes/Attribute.php
Untitled-1.jpg - Размер файла141.4KB (Нажмите для увеличения)

Затем пересоздаю атрибуты (только в базовой кривизне), и сразу отображается с номерами:
Untitled-2.jpg - Размер файла56.3KB (Нажмите для увеличения)

Когда создаю комбинации главное справа отображается нормально (без номеров) а слева один фиг с ними
Untitled-3.jpg - Размер файла76.8KB (Нажмите для увеличения)

И соответственно на фронтофисе тоже
Untitled-4.jpg - Размер файла27.6KB (Нажмите для увеличения)
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
ors
Профессионал
Сообщений: 1885
Регистрация: 09-11-2009


27-10-2010 12:10
/classes/Product.php
Код:
public function getAttributeCombinaisons($id_lang)
    {
        $result=Db::getInstance()->ExecuteS('
        SELECT pa.*, ag.`id_attribute_group`, ag.`is_color_group`, agl.`name` AS group_name, al.`name` AS attribute_name, a.`id_attribute`, pa.`unity_price_impact`
        FROM `'._DB_PREFIX_.'product_attribute` pa
        LEFT JOIN `'._DB_PREFIX_.'product_attribute_combination` pac ON pac.`id_product_attribute` = pa.`id_product_attribute`
        LEFT JOIN `'._DB_PREFIX_.'attribute` a ON a.`id_attribute` = pac.`id_attribute`
        LEFT JOIN `'._DB_PREFIX_.'attribute_group` ag ON ag.`id_attribute_group` = a.`id_attribute_group`
        LEFT JOIN `'._DB_PREFIX_.'attribute_lang` al ON (a.`id_attribute` = al.`id_attribute` AND al.`id_lang` = '.intval($id_lang).')
        LEFT JOIN `'._DB_PREFIX_.'attribute_group_lang` agl ON (ag.`id_attribute_group` = agl.`id_attribute_group` AND agl.`id_lang` = '.intval($id_lang).')
        WHERE pa.`id_product` = '.intval($this->id).'
        ORDER BY pa.`id_product_attribute`');
        foreach ($result AS &$row)
        {
            $row['attribute_name'] = Category::hideCategoryPosition($row['attribute_name']);
        }  
return $result;
}
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
CitizenDild0
Новичок
Сообщений: 74
Регистрация: 24-09-2010


27-10-2010 19:30
Я заменил, теперь если добавить комбинацию через генератор, он ниначто не ругается но отображается так же с номерами.. а если добавлять руками комбинацию то пишет :

Warning: Invalid argument supplied for foreach() in /home/r/rivoptikru/public_html/classes/Product.php on line 1046

вот ошибка:
Untitled-6.jpg - Размер файла155.3KB (Нажмите для увеличения)

и вот строка:
Untitled-5.jpg - Размер файла211.8KB (Нажмите для увеличения)

ну и даже если через генератор добавится, то все равно с номерами отображается
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
CitizenDild0
Новичок
Сообщений: 74
Регистрация: 24-09-2010


27-10-2010 22:04
пожалуйста, прошу помочь, срочно и очень надо :mfs:
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Paparacci
Новичок
Сообщений: 61
Регистрация: 15-10-2010


26-11-2010 01:02
Присоединяюсь. Столкнулся с этой проблемой при добавлении сстраниц блока "информация". При добавлении цифры в начале цифра отображается в фронт-офисе что не красиво
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Doping
Новичок
Сообщений: 17
Регистрация: 14-10-2010


19-02-2011 06:39
Сталкнулся с такой проблемой сортировки.
Решение для 1,3,*

в файле classes/Product.php

Код:
static public function getProductsProperties($id_lang, $query_result)
    {
        $resultsArray = array();
        foreach ($query_result AS $row)
            if ($row2 = Product::getProductProperties($id_lang, $row))
                $resultsArray[] = $row2;
        return $resultsArray;
    }

    /*
    * Select all features for a given language
    *
    * @param $id_lang Language id
    * @return array Array with feature's data
    */
/*     MODIF DE STRATIC PUBLIC FUNCTION
    static public function getFrontFeaturesStatic($id_lang, $id_product)
    {
        return Db::getInstance()->ExecuteS('
        SELECT name, value, pf.id_feature
        FROM '._DB_PREFIX_.'feature_product pf
        LEFT JOIN '._DB_PREFIX_.'feature_lang fl ON (fl.id_feature = pf.id_feature AND fl.id_lang = '.intval($id_lang).')
        LEFT JOIN '._DB_PREFIX_.'feature_value_lang fvl ON (fvl.id_feature_value = pf.id_feature_value AND fvl.id_lang = '.intval($id_lang).')
        WHERE pf.id_product = '.intval($id_product));
    }
    */
/* MODIF ON TRIE LES CARACTERISTISQUES PERSO via 01; 02; 03, etc. */
static public function getFrontFeaturesStatic($id_lang, $id_product)
    {
        $result=Db::getInstance()->ExecuteS('
        SELECT name, value, pf.id_feature
        FROM '._DB_PREFIX_.'feature_product pf
        LEFT JOIN '._DB_PREFIX_.'feature_lang fl ON (fl.id_feature = pf.id_feature AND fl.id_lang = '.intval($id_lang).')
        LEFT JOIN '._DB_PREFIX_.'feature_value_lang fvl ON (fvl.id_feature_value = pf.id_feature_value AND fvl.id_lang = '.intval($id_lang).')
        WHERE pf.id_product = '.intval($id_product).' order by name');

       $resultsArray = array();
        foreach ($result AS $row)
        {
            $row['name'] = product::hideFeaturePosition($row['name']);
            $resultsArray[] = $row;
        }
        return $resultsArray;
    }


    static public function hideFeaturePosition($name)
    {
        return preg_replace('/^[0-9]+\./', '', $name);
    }
/* FIN MODIF */
    public function getFrontFeatures($id_lang)
    {
        return self::getFrontFeaturesStatic($id_lang, $this->id);
    }

    static public function getAttachmentsStatic($id_lang, $id_product)
    {
        return Db::getInstance()->ExecuteS('
        SELECT *
        FROM '._DB_PREFIX_.'product_attachment pa
        LEFT JOIN '._DB_PREFIX_.'attachment a ON a.id_attachment = pa.id_attachment
        LEFT JOIN '._DB_PREFIX_.'attachment_lang al ON (a.id_attachment = al.id_attachment AND al.id_lang = '.intval($id_lang).')
        WHERE pa.id_product = '.intval($id_product));
    }

    public function getAttachments($id_lang)
    {
        return self::getAttachmentsStatic($id_lang, $this->id);
    }

    /*
    ** Customization management
    */


Пример Features
01.свойство1
02.свойство2
03.свойство3
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
gsv1982


Новичок
Сообщений: 33
Откуда: Чернигов
Регистрация: 16-03-2011


09-11-2012 21:37
А кто нибудь знает как убрать цифры в начале имени характеристики которая выводится в модуле blocklayered



Изображения:
features.jpg - Размер файла16.73KB, Скачиваний: 437 (Нажмите для увеличения)
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос 
Всего: 2 < 1 2