Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 1448 Ответов
  • 362741 Просмотров
*

Sulpher

  • Живу я здесь
  • 2112
  • 401 / 16
  • Шаблоны и расширения Joomla
Петь, посмотри файл mod_virtuemart_universal/tmpl/default.php:
Код
	    <span class="mod_vm_title"><?php echo $item->pname; ?></strong><br />

кажется, у тебя вместо закрывающего тега </span> стоит тег </strong> (версия 1.2.1)
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
Жень спасибо, исправил и обновил архив
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
Версия модуля обновлена до 1.2.2, обновление в первом посте
  • Добавлена возможность показа иконки для товаров с скидкой
  • Добавлена возможность либо автоматически определять ItemID ссылки в меню, ведущей на магазин, либо руками задавать в настройках модуля. Для чего - чтобы при переходе по ссылкам модуля корректно работала активность пункта меню, хлебные крошки и прочие привязки
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

dima2000

  • Осваиваюсь на форуме
  • 42
  • 1 / 0
Есть вопрос по модулю, почему-то выводятся картинки большого размера, как сделать чтобы показывались thumb_image ? И пожелание, сделать возможным вывод описания (s_desc).
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
1 - картинки выводятся из каталога components/com_virtuemart/shop_image/product, если необходимо изменить (брать, например из resized) - измените в файле шаблона default.php
строку
Код: html4strict
<img src="<?php echo JURI::base(); ?>components/com_virtuemart/shop_image/product/<?php echo $item->pimage; ?>" alt="<?php echo $item->pname; ?> - <?php echo $item->intro; ?>" />
на свой путь

2 - вывод product_s_desc описания продукта уже заложено в шаблоне, достаточно в шаблоне модуля добавить в нужное место
Код: php
<?php echo $item->intro; ?>
Сейчас используется как текст всплывающей подсказки для товаров
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

dima2000

  • Осваиваюсь на форуме
  • 42
  • 1 / 0
Спасибо за быстрый ответ. Эту строчку я нашел, путь понятно что другой, но ведь и название картинки там другое генерируется. Я не в ручную конвертирую, конвертируется средствами Joomla и складывается в папку components/com_virtuemart/shop_image/product/resized
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
ну раз другое имя картинки - посмотрите в таблице _vm_product какое поле отвечает за название картинки и замените его в SQL запросе в хелпере модуля, сейчас там выбирается p.product_thumb_image AS pimage (хотя я там только тумбс и полное изображение видел)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

dima2000

  • Осваиваюсь на форуме
  • 42
  • 1 / 0
Блин, не выходит каменный цветок. Посмотрел в базе product_thumb_image называется поле.
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
ну так у меня из product_thumb_image и берутся картинки, может быть в твоем случае уменьшенные изображения лежат в каталоге components\com_virtuemart\shop_image\product\resized?
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

dima2000

  • Осваиваюсь на форуме
  • 42
  • 1 / 0
Есть у меня такой файлик show_image_in_imgtag.php с таким содержанием :
Код
<?php
/**
* Image Resizer & img Tag "Filler"
*
* @author Andreas Martens <heyn@plautdietsch.de>
* @author Patrick Teague <webdude@veslach.com>
*
* @version $Id: show_image_in_imgtag.php 1584 2008-12-04 20:41:32Z soeren_nb $
* @package VirtueMart
* @subpackage core
* @copyright Copyright (C) 2004-2008 soeren - All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* VirtueMart is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See /administrator/components/com_virtuemart/COPYRIGHT.php for copyright notices and details.
*
* http://virtuemart.net
*/
define('_VALID_MOS', 1);

// Get the Joomla! configuration file
$config_file = '../../configuration.php';
include_once( $config_file );

if( isset($_REQUEST['mosConfig_absolute_path'])) die();

if( !isset( $mosConfig_absolute_path ) ) {
// We are in J! 1.5
define( '_JEXEC', 1 );
$mosConfig_absolute_path = dirname( $config_file );
}

include_once("../../administrator/components/com_virtuemart/virtuemart.cfg.php");

$resize_image = true;
// check if dynamic thumbnails are disabled or the GD Library is not available
if( PSHOP_IMG_RESIZE_ENABLE == '') {
$resize_image = false;
}
elseif (!extension_loaded('gd') && !dl('gd.so')) {
$resize_image = false;
}
 
include( CLASSPATH . "ps_main.php");

if( $resize_image ) {
// Image2Thumbnail will resize your images
include( CLASSPATH . "class.img2thumb.php");
}

$basefilename = @basename(urldecode($_REQUEST['filename']));
$filenames[] = IMAGEPATH."product/".$basefilename;
$resized_filenames[] = IMAGEPATH."product/resized/".$basefilename;
$filenames[] = IMAGEPATH."category/".$basefilename;
$resized_filenames[] = IMAGEPATH."category/resized/".$basefilename;
$newxsize = (int)@$_REQUEST['newxsize'] == 0 ? PSHOP_IMG_WIDTH : (int)@$_REQUEST['newxsize'];
$newysize = (int)@$_REQUEST['newysize'] == 0 ? PSHOP_IMG_WIDTH : (int)@$_REQUEST['newysize'];

// Don't allow sizes beyond 600 pixels
$newxsize = min( $newxsize, 600 );
$newysize = min( $newysize, 600 );

//Don't allow sizes under 40 pixels
$newxsize = max( $newxsize, 40 );
$newysize = max( $newysize, 40 );

if( $newxsize < $newysize ) {
// Don't let $newxsize be smaller than 55% of $newysize
$newxsize = max( $newxsize, 0.55 * $newysize );
}
elseif( $newysize < $newxsize ) {
// Don't let $newysize be smaller than 55% of $newxsize
$newysize = max( $newysize, 0.55 * $newxsize );
}
$maxsize = false;
$bgred = 255;
$bggreen = 255;
$bgblue = 255;

/*
if( !isset($fileout) )
$fileout="";
if( !isset($maxsize) )
$maxsize=0;
*/

/* Minimum security */
$file_exists = false;
$i = 0;
foreach ( $filenames as $file ) {
if( file_exists( $file ) ) {
$file_exists = true;
$filename = $file;
break;
} elseif( file_exists($resized_filenames[$i])) {
$file_exists = true;
$filename = $resized_filenames[$i];
break;
}
++$i;
}
$file_exists or die('File does not exist');

$filename2 = $resized_filenames[$i];

$fileinfo = pathinfo( $filename );
$file = str_replace(".".$fileinfo['extension'], "", $fileinfo['basename']);
// In class.img2thumb in the function NewImgShow() the extension .jpg will be added to .gif if imagegif does not exist.

// If the image is a gif, and imagegif() returns false then make the extension ".gif.jpg"

if( $fileinfo['extension'] == "gif") {
  if( function_exists("imagegif") ) {
    $ext = ".".$fileinfo['extension'];
    $noimgif="";
  }
  else {
    $ext = ".jpg";
    $noimgif = ".".$fileinfo['extension'];
  }
}
else {
  $ext =  ".".$fileinfo['extension'];
  $noimgif="";
}

if( $resize_image ) {
if( file_exists($filename2)) {
$fileout = $filename2;
} else {
$fileout = dirname( $filename2 ) .'/'.$file."_".$newxsize."x".$newysize.$noimgif.$ext;
}
} else {
$fileout = $filename;
}
// Tell the user agent to cache this script/stylesheet for an hour
$age = 3600;
header( 'Expires: '.gmdate( 'D, d M Y H:i:s', time()+ $age ) . ' GMT' );
header( 'Cache-Control: max-age='.$age.', must-revalidate' );

if( file_exists( $fileout ) ) {
  /* We already have a resized image
  * So send the file to the browser */

  switch(strtolower($ext))
{
case ".gif":
header ("Content-type: image/gif");
readfile($fileout);
break;
case ".jpg":
header ("Content-type: image/jpeg");
readfile($fileout);
break;
case ".png":
header ("Content-type: image/png");
readfile($fileout);
break;
}
}
else {
  /* We need to resize the image and Save the new one (all done in the constructor) */
  $neu = new Img2Thumb($filename,$newxsize,$newysize,$fileout,$maxsize,$bgred,$bggreen,$bgblue);
 
  /* Send the file to the browser */
  switch($ext)
{
case ".gif":
header ("Content-type: image/gif");
readfile($fileout);
break;
case ".jpg":
header ("Content-type: image/jpeg");
readfile($fileout);
break;
case ".png":
header ("Content-type: image/png");
readfile($fileout);
break;
}
}
?>
может тут собака зарыта ?
*

dima2000

  • Осваиваюсь на форуме
  • 42
  • 1 / 0
ну так у меня из product_thumb_image и берутся картинки, может быть в твоем случае уменьшенные изображения лежат в каталоге components\com_virtuemart\shop_image\product\resized?

Ну так я-же написал, что здесь лежат...

Менял строку вывода картинки на такую
<img src="<?php echo JURI::base(); ?>components/com_virtuemart/shop_image/product/resized/<?php echo $item->pimage; ?>" alt="<?php echo $item->pname; ?> - <?php echo $item->intro; ?>" />


Картинки не выводяться совсем
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
Ну так я-же написал, что здесь лежат...
уменьшенные картинки там лежат?
Менял строку вывода картинки на такую
<img src="<?php echo JURI::base(); ?>components/com_virtuemart/shop_image/product/resized/<?php echo $item->pimage; ?>" alt="<?php echo $item->pname; ?> - <?php echo $item->intro; ?>" />
Картинки не выводяться совсем
а имена файлов совпадают с значением поля product_thumb_image?
Тогда не знаю, плохо ориентируюсь в этом компоненте и желания не имею, может кто из специалистов магазина подскажет откуда еще могут браться названия файлов изображений
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

dima2000

  • Осваиваюсь на форуме
  • 42
  • 1 / 0
Да, уменьшенные картинки там лежат. Генерируются вроде вот как , если название файла 470.jpg и лежит в папке components/com_virtuemart/shop_image/product/

то уменьшеное будет такое 470_90x90.jpg  и лежать будет тут components/com_virtuemart/shop_image/product/resized/
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
_90x90 - добавляется к всем фотографиям из resized, а 470.jpg - данные из поля product_thumb_image?
Тогда я пошел бы таким путем (если только в БД магазина нигде не лежит уже 470_90x90.jpg, что было бы идеально) - разодрать содержимое $item->pname в массив из двух элементов по точке (имя файла и расширение), к первому элементу добавить _90x90, после опять собрать в одно целое.
Но смотреть в сторону такого решения только если 470_90x90.jpg отсутствует в БД и префикс добавляется одинаковый
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

dima2000

  • Осваиваюсь на форуме
  • 42
  • 1 / 0
_90x90 - добавляется к всем фотографиям из resized, а 470.jpg - данные из поля product_thumb_image?
Тогда я пошел бы таким путем (если только в БД магазина нигде не лежит уже 470_90x90.jpg, что было бы идеально) - разодрать содержимое $item->pname в массив из двух элементов по точке (имя файла и расширение), к первому элементу добавить _90x90, после опять собрать в одно целое.
Но смотреть в сторону такого решения только если 470_90x90.jpg отсутствует в БД и префикс добавляется одинаковый
В БД такого 470_90x90.jpg файла нигде не храниться, поэтому пойдем по второму пути. Желательно разжевать где чего поправить, в php ни бум-бум.
*

dima2000

  • Осваиваюсь на форуме
  • 42
  • 1 / 0
а вообще проще наверное просто подставить width и все, единственное наверно будет доп нагрузка на сервер.
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
width подставлять нехорошо, зачем пользователю грузить полную картинку и ужимать средствами хтмл
нет, мы пойдем проще
в хелпере модуля найти строку
Код: php
$lists[$i]->pimage 		= $row->pimage;
и заменить на (если в имени загруженной картинки нет точек - будет работать корректно)
Код: php
$lists[$i]->pimage 		= str_replace('.', '_90x90.', $row->pimage);
ну и в шаблоне добавить resized в путь генерируемой картинки
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

dima2000

  • Осваиваюсь на форуме
  • 42
  • 1 / 0
Вот что еще хочется реализовать. У меня 12 спец предложений, но вывожу я их по 3 на главной. Так вот, при перезагрузке они не меняются в случайном порядке как в стандартном модуле, т.е. все время одни и те-же 3 спец предложения, а остальные 9 не появляются.
*

dima2000

  • Осваиваюсь на форуме
  • 42
  • 1 / 0
width подставлять нехорошо, зачем пользователю грузить полную картинку и ужимать средствами хтмл
нет, мы пойдем проще
в хелпере модуля найти строку
Код: php
$lists[$i]->pimage 		= $row->pimage;
и заменить на (если в имени загруженной картинки нет точек - будет работать корректно)
Код: php
$lists[$i]->pimage 		= str_replace('.', '_90x90.', $row->pimage);
ну и в шаблоне добавить resized в путь генерируемой картинки

Вроде работает :)
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
Вроде работает :)
вот и чудненько :)

Вот что еще хочется реализовать. У меня 12 спец предложений, но вывожу я их по 3 на главной. Так вот, при перезагрузке они не меняются в случайном порядке как в стандартном модуле, т.е. все время одни и те-же 3 спец предложения, а остальные 9 не появляются.
чтобы рандомно крутили специальные товары, опять же идем в хелпер модуля, находим
Код: php
case '3';
         $where .= ' AND p.product_special = "Y" ';
         $ordering .= ' p.product_id DESC ';
и заменяем сортировку на
Код: php
$ordering 	.= ' RAND() ';
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

dima2000

  • Осваиваюсь на форуме
  • 42
  • 1 / 0
Отлично, все получилось !!! Спасибо большое за модуль!!!
*

ruamho

  • Новичок
  • 5
  • 0 / 0
У меня другая проблема, товары выводятся в разной ширины рамках, соответствующих длине названия товара, хотя в коде зафиксирована ширина и высота и межну рамками товаров нет отступа. Как тут быть?
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
1 - смотрите еще раз CSS модуля
2 - если название товара без пробелов - оно вылезет за пределы блока, для ликвидации попробуйте в modules\mod_virtuemart_universal\files\mod_virtuemart_universal.css изменить оформление для этих тегов таким образом
Код: css
.mod_vm_universal span.mod_vm_title, .mod_vm_universal a, .mod_vm_universal span {display: block;text-align: center !important;
white-space: pre-wrap; /* css-3 */
white-space: -moz-pre-wrap; /* Mozilla*/
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
word-wrap: break-word; /* Internet Explorer 5.5+ */
}
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

ruamho

  • Новичок
  • 5
  • 0 / 0
1 - смотрите еще раз CSS модуля
2 - если название товара без пробелов - оно вылезет за пределы блока, для ликвидации попробуйте в modules\mod_virtuemart_universal\files\mod_virtuemart_universal.css изменить оформление для этих тегов таким образом
Код: css
.mod_vm_universal span.mod_vm_title, .mod_vm_universal a, .mod_vm_universal span {display: block;text-align: center !important;
white-space: pre-wrap; /* css-3 */
white-space: -moz-pre-wrap; /* Mozilla*/
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
word-wrap: break-word; /* Internet Explorer 5.5+ */
}

Вот что получилось после изменения кода:

Извиняюсь, вот корректный вид (названия с пробелами):

[вложение удалено Администратором]
« Последнее редактирование: 09.08.2009, 19:54:25 от ruamho »
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
если в файле стилей для mod_vm_universal установлена фиксированная ширина - такого быть не должно
скорей всего стили шаблона накладываются и где то пересекаются, модуль оттестирован на разных сайтах - подобной проблемы не наблюдалось
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

ruamho

  • Новичок
  • 5
  • 0 / 0
если в файле стилей для mod_vm_universal установлена фиксированная ширина - такого быть не должно
скорей всего стили шаблона накладываются и где то пересекаются, модуль оттестирован на разных сайтах - подобной проблемы не наблюдалось

Спасибо!
Попробую посмотреть.
*

Tu-144

  • Осваиваюсь на форуме
  • 18
  • 4 / 0
А как реализовать вывод в несколько колонок?
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
А как реализовать вывод в несколько колонок?
количество колонок регулируется общей шириной блока, в который посещен модуль
То есть, если блок для moduletable имеет ширину в 900 пкс и в настройках CSS модуля для mod_vm_universal указана ширина в 300 пкс - то в одной строке будет три элемента
это же не таблицы, это DIV
« Последнее редактирование: 11.08.2009, 22:17:01 от beliyadm »
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Tu-144

  • Осваиваюсь на форуме
  • 18
  • 4 / 0
Понял, спасибо:)
*

ddr

  • Захожу иногда
  • 65
  • 12 / 1
Что то с ссылками в модуле не так или я где то надумал.

Тема такая. При переходе по ссылке из модуля товар всегда открывается в шаблоне полного вида товара (virtuemart) - flypage.tpl
А к примеру на сайте используются разные шаблоны товаров для разных категории - flypage_images.tpl, flypage_tabs.tpl,flypage_ask.tpl и тп
да или просто к примеру по умолчанию стоит  flypage_images.tpl, а товары выводятся в flypage.tpl

?

Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

VirtueMart не может создать мини-изображение из .jpeg-файла

Автор Nick IntegraLL

Ответов: 12
Просмотров: 6724
Последний ответ 03.04.2019, 03:28:34
от Roki37
Как реализовать на VirtueMart такую карточку товара?

Автор AdmbVlad

Ответов: 0
Просмотров: 1401
Последний ответ 14.10.2015, 17:01:55
от AdmbVlad
mod VirtueMart featureprod редактирование

Автор vsokol

Ответов: 1
Просмотров: 1465
Последний ответ 10.04.2015, 08:07:41
от vsokol
Редактирование главной страницы VirtueMart

Автор cheni

Ответов: 13
Просмотров: 11417
Последний ответ 02.04.2015, 08:41:09
от flyingspook
Альтернативный модуль вывода категорий товаров (mod_kdz_vm_categories)

Автор kordima

Ответов: 89
Просмотров: 26407
Последний ответ 19.02.2015, 22:02:14
от kordima