- Форум
- Расширения Joomla
- Электронная коммерция.
- VirtueMart 2
- [РЕШЕНО] Список товаров сжат и нет краткого описания на странице списка товаров в категории.
[РЕШЕНО] Список товаров сжат и нет краткого описания на странице списка товаров в категории.
9 года 2 нед. назад - 9 года 2 нед. назад #6512 от Alex Smi1e
Здравстуйте, уважаемые форумчане!
Подскажите, может кто знает. По умолчанию у меня при открытии категории отображаются 3 товара в каждой строке.
Но я бы хотел, чтобы в каждой строчке был один товар, но чтобы было больше информации (например, краткое описание справа от картинки).
Однако, после того как в меню я выставляю значение 1 для количества товаров в строке, то товары отображаются точно так же, будто их 3 в строке, но по одному, без описания и в таком же сжатом виде.
Подскажите, где можно поменять вид отображения товаров, а то уже всё истыкал, весь интернет облазил - всё безрезультатно.
Чувствую, что это как-то просто, но не могу понять где переключается этот режим.
Спасибо.
Подскажите, может кто знает. По умолчанию у меня при открытии категории отображаются 3 товара в каждой строке.
Но я бы хотел, чтобы в каждой строчке был один товар, но чтобы было больше информации (например, краткое описание справа от картинки).
Однако, после того как в меню я выставляю значение 1 для количества товаров в строке, то товары отображаются точно так же, будто их 3 в строке, но по одному, без описания и в таком же сжатом виде.
Подскажите, где можно поменять вид отображения товаров, а то уже всё истыкал, весь интернет облазил - всё безрезультатно.
Чувствую, что это как-то просто, но не могу понять где переключается этот режим.
Спасибо.
Последнее редактирование: 9 года 2 нед. назад от Alex Smi1e.
Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.
Wedal

Администратор

2875
228
663
9 года 2 нед. назад #6516 от Wedal
Alex Smi1e, скорее всего в используемом вами шаблоне так криво построена структура. В стандартном шаблоне VM2 это происходит так: прямо в макете категории в зависимости от указанной вами опции рассчитывается ширина блоков товаров. Примерно как 100%/N, где N - количество товаров в строке. В вашем же случае этого не происходит. Возможно, ширина задана фиксировано. Но это все предположения. Нужно смотреть код. Что касается вывода дополнительной информации, то это тоже делается только через макет(если таких опций нет в общих настройках). Делается очень просто, если есть базовые знания HTML и PHP.
Спасибо сказали: Alex Smi1e
Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.
9 года 2 нед. назад - 9 года 2 нед. назад #6518 от Alex Smi1e
Огромное спасибо за ответ. Я тоже грешу на кривость щаблона, так как никто не сталкивался с такой бедой, насколько я могу судить, поискав инфу в интернете.
Но я с этим справился, пришлось слегка пошаманить над стилями и получил примерно то, что хотел.
Одно только очень хотелось бы, но не знаю как реализовать, а именно хотелось бы, чтобы под названием отражалось краткое описание, которое занесено в соответствующую графу при заполнении.
p.s. Кстати, посмотрел код, там как раз таки и указан алгоритм 100%/N, но почему-то не работает. Но это уже и не важно. Сейчас задача поместить краткое описание туда.
Но я с этим справился, пришлось слегка пошаманить над стилями и получил примерно то, что хотел.
Одно только очень хотелось бы, но не знаю как реализовать, а именно хотелось бы, чтобы под названием отражалось краткое описание, которое занесено в соответствующую графу при заполнении.
p.s. Кстати, посмотрел код, там как раз таки и указан алгоритм 100%/N, но почему-то не работает. Но это уже и не важно. Сейчас задача поместить краткое описание туда.
Последнее редактирование: 9 года 2 нед. назад от Alex Smi1e.
Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.
Wedal

Администратор

2875
228
663
9 года 2 нед. назад #6520 от Wedal
Alex Smi1e, в макете категории товара, переопределенном в используемый вами шаблон Joomla, найдите код заголовка товара и вставьте после него:Можете оформить какими-нибудь тегами и стилями.
<?php echo $product->product_s_desc ?>
Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.
9 года 2 нед. назад - 9 года 2 нед. назад #6523 от Alex Smi1e
Нашел это место, но у меня уже стоит данная строчка, а внутри неё находится еще и ограничитель на лимит в 40 символов. Попробовал по разному поменять, по-прежнему не выводится 
Правил здесь /www/mysite/components/com_virtuemart/views/category/tmpl
п.с. высылаю кусочек кода (блок, содержащий эту строчку). Не сочтите за наглость попросить вас взглянуть одним глазком.
____________________

Правил здесь /www/mysite/components/com_virtuemart/views/category/tmpl
п.с. высылаю кусочек кода (блок, содержащий эту строчку). Не сочтите за наглость попросить вас взглянуть одним глазком.
____________________
<div class="width70 floatright">
<h2><?php echo JHTML::link ($product->link, $product->product_name); ?></h2>
<?php // Product Short Description
if (!empty($product->product_s_desc)) {
?>
<p class="product_s_desc">
<?php echo shopFunctionsF::limitStringByWord ($product->product_s_desc, 40, '...') ?>
</p>
<?php } ?>
<div class="product-price marginbottom12" id="productPrice<?php echo $product->virtuemart_product_id ?>">
<?php
if ($this->show_prices == '1') {
if ($product->prices['salesPrice']<=0 and VmConfig::get ('askprice', 1) and !$product->images[0]->file_is_downloadable) {
echo JText::_ ('COM_VIRTUEMART_PRODUCT_ASKPRICE');
}
//todo add config settings
if ($this->showBasePrice) {
echo $this->currency->createPriceDiv ('basePrice', 'COM_VIRTUEMART_PRODUCT_BASEPRICE', $product->prices);
echo $this->currency->createPriceDiv ('basePriceVariant', 'COM_VIRTUEMART_PRODUCT_BASEPRICE_VARIANT', $product->prices);
}
echo $this->currency->createPriceDiv ('variantModification', 'COM_VIRTUEMART_PRODUCT_VARIANT_MOD', $product->prices);
if (round($product->prices['basePriceWithTax'],$this->currency->_priceConfig['salesPrice'][1]) != $product->prices['salesPrice']) {
echo '<div class="price-crossed" >' . $this->currency->createPriceDiv ('basePriceWithTax', 'COM_VIRTUEMART_PRODUCT_BASEPRICE_WITHTAX', $product->prices) . "</div>";
}
if (round($product->prices['salesPriceWithDiscount'],$this->currency->_priceConfig['salesPrice'][1]) != $product->prices['salesPrice']) {
echo $this->currency->createPriceDiv ('salesPriceWithDiscount', 'COM_VIRTUEMART_PRODUCT_SALESPRICE_WITH_DISCOUNT', $product->prices);
}
echo $this->currency->createPriceDiv ('salesPrice', 'COM_VIRTUEMART_PRODUCT_SALESPRICE', $product->prices);
if ($product->prices['discountedPriceWithoutTax'] != $product->prices['priceWithoutTax']) {
echo $this->currency->createPriceDiv ('discountedPriceWithoutTax', 'COM_VIRTUEMART_PRODUCT_SALESPRICE_WITHOUT_TAX', $product->prices);
} else {
echo $this->currency->createPriceDiv ('priceWithoutTax', 'COM_VIRTUEMART_PRODUCT_SALESPRICE_WITHOUT_TAX', $product->prices);
}
echo $this->currency->createPriceDiv ('discountAmount', 'COM_VIRTUEMART_PRODUCT_DISCOUNT_AMOUNT', $product->prices);
echo $this->currency->createPriceDiv ('taxAmount', 'COM_VIRTUEMART_PRODUCT_TAX_AMOUNT', $product->prices);
$unitPriceDescription = JText::sprintf ('COM_VIRTUEMART_PRODUCT_UNITPRICE', $product->product_unit);
echo $this->currency->createPriceDiv ('unitPrice', $unitPriceDescription, $product->prices);
} ?>
</div>
<p>
<?php // Product Details Button
echo JHTML::link ($product->link, JText::_ ('COM_VIRTUEMART_PRODUCT_DETAILS'), array('title' => $product->product_name, 'class' => 'product-details'));
?>
</p>
</div>
Последнее редактирование: 9 года 2 нед. назад от Alex Smi1e.
Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.
Wedal

Администратор

2875
228
663
9 года 2 нед. назад #6527 от Wedal
Alex Smi1e, путь /www/mysite/components/com_virtuemart/views/category/tmpl - это путь к макету в компоненте. Этот макет можно переопределить в используемый вами шаблон. В этом случае переопределенный макет будет иметь более высокий приоритет, чем основной. Посмотрите, есть ли у вас файл /www/mysite/templates/ВАШ_ШАБЛОН/html/com_virtuemart/category/default.php. Если да, то править нужно именно в нем.
Спасибо сказали: Alex Smi1e
Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.
9 года 2 нед. назад - 9 года 2 нед. назад #6535 от Alex Smi1e
Всё получилось. В очередной раз огромное спасибо!
Даже не знаю, что делал бы без вашей помощи.
И на последок хотелось бы, в завершении этой темы, узнать об одном штрихе.
Теперь у меня отображается краткое описание, но в самом товаре оно у меня представлено в виде, например:
ширина - 100
высота - 200
давление - 25 атм
производитель - Россия
а на только что отредактированной мною странице, где списое товаров, отображается как:
ширина - 100 высота - 200 давление - 25 атм
производитель - Россия
Как бы сохранить формат, который у меня используется в самой категории? РНР на данном этапе далеко не мой конек, так что снова прошу вашей помощи.
Даже не знаю, что делал бы без вашей помощи.
И на последок хотелось бы, в завершении этой темы, узнать об одном штрихе.
Теперь у меня отображается краткое описание, но в самом товаре оно у меня представлено в виде, например:
ширина - 100
высота - 200
давление - 25 атм
производитель - Россия
а на только что отредактированной мною странице, где списое товаров, отображается как:
ширина - 100 высота - 200 давление - 25 атм
производитель - Россия
Как бы сохранить формат, который у меня используется в самой категории? РНР на данном этапе далеко не мой конек, так что снова прошу вашей помощи.
Последнее редактирование: 9 года 2 нед. назад от Alex Smi1e.
Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.
Wedal

Администратор

2875
228
663
9 года 2 нед. назад - 9 года 2 нед. назад #6539 от Wedal
Alex Smi1e, в кратком описании информация храниться только в виде текстовой строки. Это означает, что никакие теги не работают. Единственный способ отформатировать краткое описание по строчкам - через PHP. Например, вы можете писать:
Хотя все это - большое извращение. Все параметры товаров должны храниться в настраиваемых полях Virtuemart 2. Для этого и создан данный функционал. Настраиваемые поля также можно вывести в макет категории. Там все не так просто, но вполне реально. А главное, используя настраиваемые поля, в дальнейшем вы сможете осуществлять по ним фильтрацию товаров.
А затем в макете разбить эту строку на подстроки по символу |.ширина - 100|
высота - 200|
давление - 25 атм|
производитель - Россия
Хотя все это - большое извращение. Все параметры товаров должны храниться в настраиваемых полях Virtuemart 2. Для этого и создан данный функционал. Настраиваемые поля также можно вывести в макет категории. Там все не так просто, но вполне реально. А главное, используя настраиваемые поля, в дальнейшем вы сможете осуществлять по ним фильтрацию товаров.
Последнее редактирование: 9 года 2 нед. назад от Wedal.
Спасибо сказали: Alex Smi1e
Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.
9 года 2 нед. назад #6542 от Alex Smi1e
Хотя всё немного туманно, но, главное, я получил от вас импульс, чтобы двигаться в нужном направлении. Буду "курить" мануалы по настраиваемым полям. Давно уже хотел разобраться с этой штукой.
Огромное спасибо за правильные и исчерпывающие ответы! Всего доброго.
Огромное спасибо за правильные и исчерпывающие ответы! Всего доброго.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.
- Форум
- Расширения Joomla
- Электронная коммерция.
- VirtueMart 2
- [РЕШЕНО] Список товаров сжат и нет краткого описания на странице списка товаров в категории.