Вопрос по выводу размеров товара

Регистрация: 21 Янв 2012
Сообщения:

Добрый день!У меня вот какая проблема: для тех товаров, в которых я заполняю все размеры: длину, ширину и высоту - размеры выводятся нормально. А для тех, в которых я ввожу скажем только длину и ширину размеры вообще не выводятся. Скажите, пожалуйста, как сделать так, чтобы размеры выводились и в том случае, когда необходимо выводить скажем только ширину, или только длину, или только ширину и высоту.
С уважением, Константин

Аватар пользователя admin
Не в сети
Регистрация: 8 Июл 2010
Сообщения:

Здравствуйте. В текущей версии параметры размеров были связаны и выводились только в случае если указаны все параметры (высота, ширина, длина). В следующей версии будет возможность выводить эти параметры по отдельности.

Для исправления откройте фаил drushop_general.module (sites\all\modules\drushop\drushop_general\drushop_general.module), наидите и удалите строки

  1. if ($vars['product_dimensions'] == '') {
  2.       unset($node->content['dimensions']);
  3.     }

Найдите и удалите строку

  1. $dimensions = !empty($node->height) && !empty($node->width) && !empty($node->length);

Найдите строку

  1. $vars['product_dimensions'] = ($dimensions) ? drupal_render($node->content['dimensions']) : ''; 

И замените её на

  1. $vars['product_length_units'] = $node->length_units;
  2. 	if ($vars['product_length_units'] == "cm") { $vars['product_length_units'] = "см.";}
  3. 	if ($vars['product_length_units'] == "in") { $vars['product_length_units'] = "дм.";}
  4. 	if ($vars['product_length_units'] == "ft") { $vars['product_length_units'] = "фт.";}
  5. 	if ($vars['product_length_units'] == "mm") { $vars['product_length_units'] = "мм.";}
  6.     $vars['product_dimension'] = drupal_render($node->content['dimensions']); 
  7. 	$vars['product_length_format'] = $node->length;
  8. 	$vars['product_length'] = t("Length").": ".$node->length." ".$vars['product_length_units'];
  9. 	$vars['product_width_format'] = $node->width;
  10. 	$vars['product_width'] = t("Width").": ".$node->width." ".$vars['product_length_units'];
  11. 	$vars['product_height_format'] = $node->height;
  12. 	$vars['product_height'] = t("Height").": ".$node->height." ".$vars['product_length_units'];	
  13. 	$vars['product_weight_units'] = $node->weight_units;
  14. 	$vars['product_shipping_type'] = $node->shipping_type;
  15. 	$vars['product_pkg_qty'] = $node->pkg_qty;
  16. 	$vars['product_default_qty'] = $node->default_qty;
  17. 	$vars['product_shippable'] = $node->shippable;
  18. 	$vars['product_ordering'] = $node->ordering;
  19.  
  20. 	// проверяем введены ли значения длины, щирины, высоты
  21. 	$prod_length = $vars['product_length_format']." ".$vars['product_length_units'];
  22. 	if ($vars['product_length_format'] == 0 or $vars['product_length_format'] == "") {unset($prod_length);}
  23. 	$prod_width = " x ".$vars['product_width_format']." ".$vars['product_length_units'];	
  24. 	if ($vars['product_width_format'] == 0 or $vars['product_width_format'] == "") {unset($prod_width);}
  25. 	$prod_height = " x ".$vars['product_height_format']." ".$vars['product_length_units'];
  26. 	if ($vars['product_height_format'] == 0 or $vars['product_height_format'] == "") {unset($prod_height);}
  27.  
  28. 	//создаем переменную размеры
  29.     $vars['product_dimensions'] = t("Dimensions:")." ".$prod_length.$prod_width.$prod_height;

Теперь размеры выводятся, даже если введены не все параметры (длина, высота, ширина). Так же теперь доступны для вывода переменные с шириной, высотой и длиной. Их можно вывести в карточке товара

Новые переменные

  • $product_length - длина
  • $product_width - ширина
  • $product_height - высота
  • $product_length_units - единицы измерения для размеров (к примеру см.)
  • $product_weight_units - единицы измерения для веса (к примеру кг.)
Регистрация: 21 Янв 2012
Сообщения:

Спасибо большое!Буду делать!:)

Регистрация: 21 Янв 2012
Сообщения:

Спасибо! Очень помогло!