Порядок атрибутов в товаре

24.10.2022 14:00
#1
Bozhkov
User Bozhkov
Name: Konstantin
17.07.2014
Posts: 284
Quote
Порядок атрибутов в товаре

Здравствуйте. Иногда в товаре порядок зависимых атрибутов не соответствует порядку в товаре, из-за этого часть важной информации (не весь ассортимент отображается) скрывается от пользователя. В настройка JoomShopping выбрано порядок атрибутов "как в товаре". Случается это ровно через раз после импорта атрибутов (только обновление цены). В товаре порядок остается верным всегда, а для восстановления порядка на сайте нужно произвести импорт повторно. Где может быть проблема?


JoomShopping: 4.18.9

Last change: 24.10.2022 14:20
 
24.10.2022 14:04
#2
Bozhkov
User Bozhkov
Name: Konstantin
17.07.2014
Posts: 284
Quote
Aw: Порядок атрибутов в товаре

Разработчики импорта (Comiel от Nevigen) говорят что импорт порядок атрибутов не задает, тем более что он остается верный в админке, а меняется только на фронте. То есть, проблема не в импорте. Надежда осталась только на вас.


Last change: 24.10.2022 14:05
 
24.10.2022 17:08
#3
admin
(Support Team)
User admin
Name: Admin
05.08.2010
Posts: 25941
Quote
Aw: Порядок атрибутов в товаре

url?
Screenshot Атрибуты в адменке

 
24.10.2022 17:36
#4
Bozhkov
User Bozhkov
Name: Konstantin
17.07.2014
Posts: 284
Quote
Aw: Порядок атрибутов в товаре

https://kievdah.com.ua/ua/gestyanye-izdeliya/vitrova-planka-priama/vetrovaya-planka-dlya-metallocherepitsy-ruukki-0-45-pe-zn200.html

Aw: Порядок атрибутов в товаре


Last change: 24.10.2022 17:37
 
24.10.2022 17:42
#5
Bozhkov
User Bozhkov
Name: Konstantin
17.07.2014
Posts: 284
Quote
Aw: Порядок атрибутов в товаре

Должно быть так

Aw: Порядок атрибутов в товаре

а стает так

Aw: Порядок атрибутов в товаре

Белый цвет становится первым, и поскольку он не во всех вариантах второго атрибута, покупатель не видит того что должен видеть.


Last change: 24.10.2022 17:44
 
24.10.2022 19:00
#6
admin
(Support Team)
User admin
Name: Admin
05.08.2010
Posts: 25941
Quote
Aw: Порядок атрибутов в товаре

Options / Attribute / Options

Важна сортировка значение атрибутов.

 
24.10.2022 19:17
#7
Bozhkov
User Bozhkov
Name: Konstantin
17.07.2014
Posts: 284
Quote
Aw: Порядок атрибутов в товаре

В опциях при импорте ничего не меняется (новое не создается, только обновляются цены). А с каждым импортом порядок отображения меняется, при чем уже в хаотичном порядке (до этого я писал что второй импорт все исправляет, но уже этого не происходит).
Я вроде увидел такую закономерность в таблице атрибутов базы данных. Порядок отображения в админке это значение ext_attribute_product_id (с каждым импортом растет). но запись строк в БД идет не по порядку этого значения. И фронт выводит физический порядок из таблицы, а админка все-таки сортирует порядок по этой колонке.

 
24.10.2022 19:36
#8
Bozhkov
User Bozhkov
Name: Konstantin
17.07.2014
Posts: 284
Quote
Aw: Порядок атрибутов в товаре

Важна сортировка значение атрибутов.

Не понял на что это влияет если сортировка атрибутов в настройках ЖШ - "указано в товаре"?

Aw: Порядок атрибутов в товаре

 
24.10.2022 20:46
#9
admin
(Support Team)
User admin
Name: Admin
05.08.2010
Posts: 25941
Quote
Aw: Порядок атрибутов в товаре

На фронте тоже сортировка по полю product_attr_id (таблица _jshopping_products_attr)
Но после
SELECT distinct
возможно тут проблема
distinct - мешает сортировки и получает Физичекая (как было по очереди записано)

-------
Если будет сохранение из админки - такой ситуации не будет.


Last change: 24.10.2022 20:52
 
24.10.2022 23:26
#10
Bozhkov
User Bozhkov
Name: Konstantin
17.07.2014
Posts: 284
Quote
Aw: Порядок атрибутов в товаре

Если будет сохранение из админки - такой ситуации не будет.

После импорта сохранение этого товара в админке проблему не решает.
SELECT distinct
возможно тут проблема

Я не программист, не понимаю, о чем речь. Как ее решить? Или, чья это компетенция?


Last change: 24.10.2022 23:47
 
25.10.2022 08:17
#11
admin
(Support Team)
User admin
Name: Admin
05.08.2010
Posts: 25941
Quote
Aw: Порядок атрибутов в товаре

дайте доступ к phpmyadmin

 
25.10.2022 11:35
#12
Bozhkov
User Bozhkov
Name: Konstantin
17.07.2014
Posts: 284
Quote
Aw: Порядок атрибутов в товаре

написал в приват

 
25.10.2022 11:36
#13
admin
(Support Team)
User admin
Name: Admin
05.08.2010
Posts: 25941
Quote
Aw: Порядок атрибутов в товаре

components\com_jshopping\tables\product.php

замените

function getAttribValue ...

на

function getAttribValue($attr_id, $other_attr = array(), $onlyExistProduct = 0){
$jshopConfig = JSFactory::getConfig();
$allattribs = JSFactory::getAllAttributes(1);
$lang = JSFactory::getLang();
if ($allattribs[$attr_id]->independent==0){
$where = "";
foreach($other_attr as $k=>$v){
$where.=" and PA.attr_".(int)$k."=".(int)$v;
}
if ($onlyExistProduct) $where.=" and PA.count>0 ";
$sorting = $jshopConfig->attribut_dep_sorting_in_product;
if ($sorting=="") $sorting = "V.value_ordering";
if ($sorting=="PA.product_attr_id") $sorting = "min(PA.product_attr_id)";
$field = "attr_".(int)$attr_id;
$query = "SELECT PA.$field as val_id, V.`".$lang->get("name")."` as value_name, V.image
FROM `#__jshopping_products_attr` as PA
INNER JOIN #__jshopping_attr_values as V ON PA.$field=V.value_id
WHERE PA.product_id=".(int)$this->product_id." ".$where."
GROUP BY PA.$field
ORDER BY ".$sorting;
}else{
$sorting = $jshopConfig->attribut_nodep_sorting_in_product;
if ($sorting=="") $sorting = "V.value_ordering";
$query = "SELECT PA.attr_value_id as val_id, V.`".$lang->get("name")."` as value_name, V.image, price_mod, addprice
FROM `#__jshopping_products_attr2` as PA
INNER JOIN #__jshopping_attr_values as V ON PA.attr_value_id=V.value_id
WHERE PA.product_id=".(int)$this->product_id." and PA.attr_id=".(int)$attr_id."
ORDER BY ".$sorting;
}
extract(js_add_trigger(get_defined_vars(), "after"));
$this->_db->setQuery($query);
return $this->_db->loadObjectList();
}

 
25.10.2022 13:11
#14
Bozhkov
User Bozhkov
Name: Konstantin
17.07.2014
Posts: 284
Quote
Aw: Порядок атрибутов в товаре

Работает. Спасибо.

 


Copyrights MAXXmarketing GmbH. Alle Rechte vorbehalten
Durch die Nutzung dieser Website stimme ich zu, dass Cookies zur optimalen Gestaltung der Website sowie zur Analyse der Nutzung der Website verwendet werden. Weiterführende Informationen finden Sie hier. OK, einverstanden.