Show in the list of products the characteristic values in the default language and English

24.11.2017 09:23
#1
kit2m2
Joomshopping forum user no avatar
Name: Dmitriy
03.12.2010
Posts: 107
Quote
Show in the list of products the characteristic values in the default language and English

Подскажите пожалуйста, как вывести значение характеристики одновременно на языке по умолчанию и английском.


Joomla: 3.8.2
JoomShopping: 4.16.3
 
24.11.2017 16:04
#2
admin
(Support Team)
User admin
Name: Admin
05.08.2010
Posts: 25934
Quote
Aw: Show in the list of products the characteristic values in the default language and English

Нет такой возможности.

 
25.11.2017 07:27
#3
kit2m2
Joomshopping forum user no avatar
Name: Dmitriy
03.12.2010
Posts: 107
Quote
Aw: Show in the list of products the characteristic values in the default language and English

Понятно что в стандартном функционале нет такой возможности, поэтому и спрашиваю.

Или поддержка компонента сводиться к - "Берите как есть, а если что-то нужно парьтесь сами".

Тогда хотя бы внятную документацию написали для разработчиков и хотя бы по стандартному функционалу.

 
25.11.2017 12:19
#4
admin
(Support Team)
User admin
Name: Admin
05.08.2010
Posts: 25934
Quote
Aw: Show in the list of products the characteristic values in the default language and English

lib/function.php
маняйте
getProductExtraFieldForProduct

на

function getProductExtraFieldForProduct($product){
$fields = JSFactory::getAllProductExtraField();
$fieldvalues = JSFactory::getAllProductExtraFieldValue();
$displayfields = JSFactory::getDisplayListProductExtraFieldForCategory($product->category_id);
$listChNameValue = getListNameChValue('en-GB');

$rows = array();
foreach($displayfields as $field_id){
$field_name = "extra_field_".$field_id;
if ($fields[$field_id]->type==0){
if ($product->$field_name!=0){
$listid = explode(',', $product->$field_name);
$tmp = array();
foreach($listid as $extrafiledvalueid){
$tmp[] = $fieldvalues[$extrafiledvalueid];
}
$extra_field_value = implode(", ", $tmp);
$tmp2 = array();
foreach($listid as $extrafiledvalueid){
$tmp2[] = $listChNameValue[$extrafiledvalueid];
}
$extra_field_value2 = implode(", ", $tmp2);
$rows[$field_id] = array("name"=>$fields[$field_id]->name, "description"=>$fields[$field_id]->description, "value"=>$extra_field_value, 'value2'=>$extra_field_value2);
}
}else{
if ($product->$field_name!=""){
$rows[$field_id] = array("name"=>$fields[$field_id]->name, "description"=>$fields[$field_id]->description, "value"=>$product->$field_name);
}
}
}
return $rows;
}

function getListNameChValue($lang){
$db = JFactory::getDBO();
$query = "SELECT id, `name_".$lang."` as name, field_id FROM `#__jshopping_products_extra_field_values` order by ordering";
$db->setQuery($query);
$rows = $db->loadObjectList();
$list = array();
foreach($rows as $k=>$row){
$list[$row->id] = $row->name;
unset($rows[$k]);
}
return $list;
}

код шаблона

<?php if (is_array($product->extra_field)){?>
<div class="extra_fields">
<?php foreach($product->extra_field as $extra_field){?>
<div>
<span class="label-name"><?php print $extra_field['name'];?>:</span>
<span class="data"><?php print $extra_field['value'];?> (<?php print $extra_field['value2'];?>)</span>
</div>
<?php }?>
</div>
<?php }?>

 


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.