[РЕШЕНО] Список товаров сжат и нет краткого описания на странице списка товаров в категории.

9 года 2 нед. назад - 9 года 2 нед. назад #6512 от Alex Smi1e
Здравстуйте, уважаемые форумчане!

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




Но я бы хотел, чтобы в каждой строчке был один товар, но чтобы было больше информации (например, краткое описание справа от картинки).
Однако, после того как в меню я выставляю значение 1 для количества товаров в строке, то товары отображаются точно так же, будто их 3 в строке, но по одному, без описания и в таком же сжатом виде.







Подскажите, где можно поменять вид отображения товаров, а то уже всё истыкал, весь интернет облазил - всё безрезультатно.
Чувствую, что это как-то просто, но не могу понять где переключается этот режим.
Спасибо.
Вложения:

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

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, но почему-то не работает. Но это уже и не важно. Сейчас задача поместить краткое описание туда.


Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

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


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

____________________
<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 нед. назад #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 атм
производитель - Россия

Как бы сохранить формат, который у меня используется в самой категории? РНР на данном этапе далеко не мой конек, так что снова прошу вашей помощи.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

9 года 2 нед. назад - 9 года 2 нед. назад #6539 от Wedal
Alex Smi1e, в кратком описании информация храниться только в виде текстовой строки. Это означает, что никакие теги не работают. Единственный способ отформатировать краткое описание по строчкам - через PHP. Например, вы можете писать:

ширина - 100|
высота - 200|
давление - 25 атм|
производитель - Россия

А затем в макете разбить эту строку на подстроки по символу |.

Хотя все это - большое извращение. Все параметры товаров должны храниться в настраиваемых полях Virtuemart 2. Для этого и создан данный функционал. Настраиваемые поля также можно вывести в макет категории. Там все не так просто, но вполне реально. А главное, используя настраиваемые поля, в дальнейшем вы сможете осуществлять по ним фильтрацию товаров.
Спасибо сказали: Alex Smi1e

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

9 года 2 нед. назад #6542 от Alex Smi1e
Хотя всё немного туманно, но, главное, я получил от вас импульс, чтобы двигаться в нужном направлении. Буду "курить" мануалы по настраиваемым полям. Давно уже хотел разобраться с этой штукой.
Огромное спасибо за правильные и исчерпывающие ответы! Всего доброго. ;)

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.