Новости Joomla

Nevigen Audit JoomShopping 5+Расширение представляет собой большой дашборд для управления...

Nevigen Audit JoomShopping 5+Расширение представляет собой большой дашборд для управления...

Nevigen Audit JoomShopping 5+Расширение представляет собой большой дашборд для управления JoomShopping и работы с его данными. Расширение может:Товары:- отображение списка товаров в удобном информативном виде,- дополненные возможности фильтрации товаров в списке,- возможность быстрого удобного просмотра базовой статистики по товарам.- расширенные возможности поиска по товарам,- возможности анализа базовой подготовки SEO параметров товаров, с возможностью перехода к отфильтрованным товарам с "проблемами"- анализ базовой SEO подготовки товаров проводится по всем установленным для магазина языкам- редактирование товара (в апдейтах)Заказы:- отображать заказы в удобном виде,- обеспечивает широкие дополненные возможности фильтрации,- предоставляет расширенные возможности поиска по полям заказов,- возможность быстрого удобного просмотра базовой статистики по заказам.- планируются дополнительные возможности статистики и анализа продаж. (отдельными расширениями)Клиенты:- отображать список клиентов в удобном виде,- предоставляет расширенные возможности поиска по полям клиентов,- возможность быстрого удобного просмотра базовой статистики по клиентам.- исключена возможность блокировки собственной учетной записи, чтобы не утратить контроль для доступа в админпанель,- добавлено поле заметок для клиента (интегрированы заметки пользователя Joomla), что дает дополнительные возможности для работы разных менеджеров с клиентом.- планируются дополнительные возможности работы с клиентами (отдельными расширениями)Системные требования: JoomShopping 5.5+, PHP 8.1+Вопросы по расширению к участнику нашего сообщества @IhorNVGСтраница расширения#JoomShopping #расширения

Собственные макеты вывода для пользовательских полей JoomlaМы привыкли использовать механизм...

Собственные макеты вывода для пользовательских полей JoomlaМы привыкли использовать механизм...

Собственные макеты вывода для пользовательских полей JoomlaМы привыкли использовать механизм переопределения макетов Joomla: скопируй нужный тебе файл макета в папку html шаблона и твори там что хочешь. Это в полной мере относится и к пользовательским полям Joomla.Joomla ищет макеты рендера всех пользовательских полей в следующем порядке:- Есть ли файл templates/[template name]/html/layouts/[component name]/fields/render.php , переопределяющий макет вывода полей для конкретного компонента? Да - используем его.- Нет? Есть ли файл components/[component name]/layouts/fields/render.php в папке компонента? Да - используем его.- Нет? Есть ли файл templates/[template name]/html/layouts/com_fields/fields/render.php, переопределяющий вывод полей для com_fields? Да - используем его.- Нет? Используем файл components/com_fields/layouts/fields/render.phpЭто механизм поиска переопределений файлов макетов. Вчера столкнулся с тем, что если поле вставлено в текст материала с помощью шорт-кода (кнопкой редактора) вида {field 25}, то переопределения не сработали. Поэтому стал вспоминать как сделать свой макет для поля Joomla. Файл components/com_fields/layouts/field/render.php копируем в templates/YOUR_TEMPLATE/html/layouts/com_fields/field/etapy-raboty-nad-proektom.php. Обратите внимание, что мы файл переименовали, чтобы в настройках поля видеть его в выпадающем списке. После этого всё заработало как надо. Благо, переводил уже раньше статью Как происходит рендер пользовательских полей в Joomla?. Потом, порывшись по своему же переводу увидел, что эта особенность работы Joomla в статье уже в ней описана 😂. А также напомнил себе о возможности указывать макет поля прямо в шорт-коде, через запятую: {field 25,etapy-raboty-nad-proektom}. Правда, если честно, никогда этой возможностью не пользовался. @webtolkru#joomla #php #разработка #webdev

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

Sulpher

  • Живу я здесь
  • 2121
  • 401 / 16
  • Шаблоны и расширения Joomla
Для реализации сорировки товара по производителям, необходимо внести ряд модификаций.

1. Открываем файл administrator/components/com_virtuemart/html/shop.browse.php:

найти строку 121:
Код: php
		$db->query( "SELECT manufacturer_id, mf_name, mf_desc FROM #__{vm}_manufacturer WHERE manufacturer_id='$manufacturer_id'");
и заменить на:

Код: php
		$db->query( "SELECT manufacturer_id, mf_name FROM #__{vm}_manufacturer WHERE manufacturer_id='$manufacturer_id'");

Далее, в этом же файле найти кусок кода: (172 строка)

Код: php
	if ( $num_rows > 1 && @$_REQUEST['output'] != "pdf") {
if ( $num_rows > 5 ) { // simplified logic
$search_string = $mm_action_url."index.php?option=com_virtuemart&Itemid=$Itemid&category_id=$category_id&page=$modulename.browse";
$search_string .= empty($manufacturer_id)? '' : "&manufacturer_id=$manufacturer_id";
$search_string .= empty($keyword)? '' : '&keyword='.urlencode( $keyword );
if (!empty($keyword1)) {
$search_string.="&keyword1=".urlencode($keyword1);
$search_string.="&search_category=".urlencode($search_category);
$search_string.="&search_limiter=$search_limiter";
if (!empty($keyword2)) {
$search_string.="&keyword2=".urlencode($keyword2);
$search_string.="&search_op=".urlencode($search_op);
}
}
и заменить на:

Код: php
	if ( $num_rows > 1 && @$_REQUEST['output'] != "pdf") {
if ( $num_rows > $limit  || $num_rows > 5 ) {
$search_string = $mm_action_url."index.php?option=com_virtuemart&page=$modulename.browse&category_id=$category_id&keyword=".urlencode( $keyword )."&manufacturer_id=$manufacturer_id&Itemid=$Itemid";
$search_string .= !empty($orderby)? "&orderby=".urlencode($orderby) : "";
if (!empty($keyword1)) {
$search_string.="&keyword1=".urlencode($keyword1);
$search_string.="&search_category=$search_category";
$search_string.="&search_limiter=$search_limiter";
if (!empty($keyword2)) {
$search_string.="&keyword2=".urlencode($keyword2);
$search_string.="&search_op=$search_op";
}
}

Строку 187:
Код: php
					if (substr($key, 0,13) == "product_type_"){

заменить на:
Код: php
			if (substr($key, 0,13) == "product_type_" || substr($key, 0,5) == "price"){

Далее, после строки 232:
Код: php
		$tpl->set( 'orderby_form', $orderby_form );


Добавить такой код:
Код: php
		//CHANGES FOR MANUFACTURER FILTER
$orderby_form = $tpl->fetch( 'browse/includes/browse_filterbymf.tpl.php' );
$tpl->set( 'filterby_mf', $orderby_form );
//END CHANGES FOR MANUFACTURER FILTER

После строки 235:
Код: php
    	$tpl->set( 'orderby_form', '' );

Добавить вот это:
Код: php
	//CHANGES FOR MANUFACTURER FILTER
$tpl->set( 'filterby_mf', '' );
//END CHANGES FOR MANUFACTURER FILTER

2. Открываем файл administrator/components/com_virtuemart/html/shop_browse_queries.php:


Строки 22-25:
Код: php
// Descending or Ascending Order? possible values: [ASC|DESC]
$DescOrderBy = strtoupper($vm_mainframe->getUserStateFromRequest( "browse{$keyword}{$category_id}{$manufacturer_id}DescOrderBy", 'DescOrderBy', "ASC" ));
$DescOrderBy == 'ASC' ? 'ASC' : 'DESC';

заменить на:
Код: php
// Descending or Ascending Order? possible values: [ASC|DESC]
$DescOrderBy = $vmInputFilter->safeSQL( $vm_mainframe->getUserStateFromRequest( "browse{$keyword}{$category_id}{$manufacturer_id}DescOrderBy", 'DescOrderBy', "ASC" ) );

строки 63-67:
Код: php
// Filter Products by Category
if( $category_id ) {
if( !empty( $search_this_category ) && (!empty( $keyword ) || !empty( $manufacturer_id ) )) {
$where_clause[] = "`#__{vm}_product_category_xref`.`category_id`=".$category_id;
} elseif( empty( $keyword ) && empty( $manufacturer_id )) {

заменить на:

Код: php
// Filter Products by Category
if( $category_id ) {
if( !empty( $search_this_category ) && (!empty( $keyword ) || !empty( $manufacturer_id ) )) {
$where_clause[] = "#__{vm}_product_category_xref`.`category_id`=".$category_id;
//MODIFIED FOR FILTER MANUFACTURER
//} elseif( empty( $keyword ) && empty( $manufacturer_id )) {
} elseif( empty( $keyword )) {
//END MODIFIED FOR FILTER MANUFACTURER

После строки 299 дописать такой код:
Код: php
$count  = "SELECT $count_name FROM ($table_names) ";
и перед
Код: php
if( $perm->is_registered_customer($auth['user_id']) ) {	

Добавить:
Код: php
//DEBUG x FILTER MANUFACTURER
//echo '<br />'.'--------------------'.'<br />';
//echo 'list='.$list.'<br />';
//echo '<br />'.'--------------------'.'<br />';
//echo 'count='.$count.'<br />';
//$where_clause[] = "`#__{vm}_product_category_xref`.`category_id`=16 ";

Строку 309:
Код: php
$where_clause[] = "`product_parent_id`=0 ";

заменить на:

Код: php
$where_clause[] = "((`product_parent_id`='0') OR (`product_parent_id`='')) ";

После строки 321:
Код: php
$q .= "\n ORDER BY $orderbyField $DescOrderBy";

Вставить:
Код: php
//DEBUG x FILTER MANUFACTURER
//echo '<br />'.'--------------------'.'<br />';
//echo 'q='.$q.'<br />';

3. Открываем components/com_virtuemart/themes/default/templates/browse/includes/browse_orderbyform.tpl:
после строк 18-19:
Код: php
        <input class="button" type="submit" value="'.$VM_LANG->_('PHPSHOP_SUBMIT').'" />');
}

добавляем:
Код: php
    //CHANGES FOR FILTER MANUFACTURER
    echo $this->fetch( 'browse/includes/browse_filterbymf.tpl.php');
    //END CHANGES FOR FILTER MANUFACTURER

Строку 25:
Код: php
    <input type="hidden" name="manufacturer_id" value="<?php echo $manufacturer_id ?>" />

Заменяем на строки:
Код: php
    <!--  CHANGES FOR FILTER MANUFACTURER
        <input type="hidden" name="manufacturer_id" value="<?php echo $manufacturer_id ?>" />
        -->
    <input type="hidden" name="limitstart" value="0" />

Находим строку 32:
Код: php
	echo '<input type="hidden" name="product_type_id" value="'.$product_type_id.'" />'; 
и закомментируем ее.

находим строки 36-55:
Код: php
if( $show_top_navigation ) {
?>
&nbsp;&nbsp;&nbsp;&nbsp;<?php echo $VM_LANG->_('PN_DISPLAY_NR')?>&nbsp;&nbsp;

<?php $pagenav->writeLimitBox(); ?>
<noscript><input type="submit" value="<?php echo $VM_LANG->_('PHPSHOP_SUBMIT')?>" /></noscript>

    <!-- PAGE NAVIGATION AT THE TOP -->
    <br/ >
    <div style="text-align:center;"><?php
     $pagenav->writePagesLinks( $search_string );
     echo '<br />';
     $pagenav->writePagesCounter();
      ?>
    </div>
    
<?php

}
?>

и заменяем на:
Код: php
//if( $show_top_navigation ) {
?>
<!-- <form action="<?php echo $mm_action_url."index.php" ?>" method="get" name="order">
&nbsp;&nbsp;&nbsp;&nbsp;<?php echo $VM_LANG->_('PN_DISPLAY_NR')?>&nbsp;&nbsp;

<?php $pagenav->writeLimitBox( $search_string ); ?>
<noscript><input type="submit" value="<?php echo $VM_LANG->_('PHPSHOP_SUBMIT')?>" /></noscript>
-->  
    <!-- PAGE NAVIGATION AT THE TOP -->
<!--    <br />
    <div style="text-align:center;"><?php
     $pagenav->writePagesLinks( $search_string );
     echo '<br />';
     $pagenav->writePagesCounter();
      ?>
    </div>
-->    
<?php

// }
?>

4. Создаём файл components/com_virtuemart/themes/default/templates/browse/includes/browse_filterbymf.tpl.php (файл приложен в аттаче)

Готово.

P.S. Это пока черновик, статью писал опираясь на сравнение хаков вот этого решения. Опробую на сайте вечером.

[вложение удалено Администратором]
*

morph

  • Давно я тут
  • 924
  • 105 / 0
 :o
скока много кода...что в конце концов получиться должно?
теория http://forum.virtuemart.ru/viewtopic.php?f=2&t=10 и готовое файло http://joomlaforum.ru/index.php/topic,54162.msg363639.html#msg363639 для сортировки  по производителям в категории все также как в хаке для 1.0.*....или я недогнал?

*

matiass

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Работает, не подскажешь как вывести не выпадающим меню, а ссылками всех брендов?  Или в выпадающем меню слово выбрать изменить на "Выбрать производителя"
« Последнее редактирование: 25.06.2009, 14:02:11 от matiass »
*

vitaliy.balatskiy

  • Захожу иногда
  • 92
  • 5 / 0

Я так понимаю это сортировка во фронтенде! А меня интересует, как бы добавить сортировку в админке VM , а то товаров много, и когда хочется отсортировать по производителях. такой облом настает! Помогите, люди добрые!
*

abbat_gro

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

abbat_gro

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Я так понимаю это сортировка во фронтенде! А меня интересует, как бы добавить сортировку в админке VM , а то товаров много, и когда хочется отсортировать по производителях. такой облом настает! Помогите, люди добрые!
меня это дело тоже очень волнует... есть ли готовые решения?
*

AlexeyK

  • Осваиваюсь на форуме
  • 34
  • 1 / 0
А подскажите как к этому еще организовать сортировку по типам товара?
*

morph

  • Давно я тут
  • 924
  • 105 / 0
*

Luchik

  • Захожу иногда
  • 57
  • 6 / 0
Крута. Работает! :)
Спасибо.

+ тебе
« Последнее редактирование: 05.11.2009, 09:39:59 от Luchik »
*

Sulpher

  • Живу я здесь
  • 2121
  • 401 / 16
  • Шаблоны и расширения Joomla
Вот готовый хак для VirtueMart 1.1.4. Распаковать и записать поверх. (на ваш страх и риск - если ранее были внесены модификации в данные файлы, то они будут затёрты)

[вложение удалено Администратором]
*

igoryk

  • Захожу иногда
  • 183
  • 11 / 0
Вот готовый хак для VirtueMart 1.1.4. Распаковать и записать поверх. (на ваш страх и риск - если ранее были внесены модификации в данные файлы, то они будут затёрты)

Есть баг - если в категории один товар данного производителя. то форма сортировки исчезает :(

Как решить?
*

morph

  • Давно я тут
  • 924
  • 105 / 0
Есть баг - если в категории один товар данного производителя. то форма сортировки исчезает :(

Как решить?
это не баг а условие на вывод шаблона сортировки (что сортировать если товаров 1 или 2 ?).смотри shop.browse.php
*

kpk17

  • Захожу иногда
  • 257
  • 2 / 0

а не подскажете как сделать чтобы этот список выводился автоматически на всю страницу, чтобы сразу шло разделение по производителям и товарам

acer
товар 1
товар2

asus
товар3
товар4

и так далее

сорри за множественность темы
*

RedFlash

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
Спасибо за решение!
Один вопрос - где можно изменить слово "Выбор" , которое по умолчанию в дроп даун списке выводится на свое, например "производитель"
*

ws_green

  • Захожу иногда
  • 71
  • 1 / 0
Работает, не подскажешь как вывести не выпадающим меню, а ссылками всех брендов?  Или в выпадающем меню слово выбрать изменить на "Выбрать производителя"

Кому интересно, чтобы вывести фильтр производителей не в выпадающем списке, а в виде ссылок, открываем файл browse_filterbymf.tpl
и ищем строки

Код
			foreach ($res as $manufacturer) { 
$selected = '';
if( @$_REQUEST['manufacturer_id'] == $manufacturer->manufacturer_id ) {
$selected = 'selected="selected"';     
}
echo "<option value=\"".$manufacturer->manufacturer_id ."\" $selected>". $manufacturer->mf_name ."</option>\n";

}

заменяем на
Код
			foreach ($res as $manufacturer) { 

echo '<a href="index.php?DescOrderBy=ASC&manufacturer_id=' . $manufacturer->manufacturer_id . '&amp;option=com_virtuemart&amp;Itemid='. $Itemid . '&amp;category_id=' . $category_id . '&amp;page=shop.browse">' . $manufacturer->mf_name . '</a><br />';


}

Столкнулся с проблемой. Нужна сортировка внутри списка производителей по категориям. Возможно ли это сделать?
*

dinox

  • Захожу иногда
  • 235
  • 42 / 0
  • Чего-то здесь не хватает...
Кому интересно, чтобы вывести фильтр производителей не в выпадающем списке, а в виде ссылок, открываем файл browse_filterbymf.tpl
и ищем строки
Ты забыл написать что надо убрать все что относится к форме. Ато я так сразу поставил, а оно не работет.

Спасибо за суперскую фильтрацию, мне надо была такая штука для модуля производителей я туда ее вставил и теперь работает точно так как надо! А отсюда убрал из-за неудобного размещения

Столкнулся с проблемой. Нужна сортировка внутри списка производителей по категориям. Возможно ли это сделать?
Мне такое вот тоже надо, буду думать как осуществить если придумаю напишу сюда ^-^
« Последнее редактирование: 08.03.2010, 15:48:42 от dinox »
Дай каждому дню шанс стать самым прекрасным в твоей жизни!
Ждем когда microsoft.com перейдет на Joomla!
*

skyscraper

  • Захожу иногда
  • 252
  • 47 / 2
чтобы менюшка выводилось если 1 товар делаем в shop.browse.php так:


if ( $num_rows && @$_REQUEST['output'] != "pdf") {
*

broot

  • Захожу иногда
  • 78
  • 1 / 0
Ты забыл написать что надо убрать все что относится к форме. Ато я так сразу поставил, а оно не работет.

Спасибо за суперскую фильтрацию, мне надо была такая штука для модуля производителей я туда ее вставил и теперь работает точно так как надо! А отсюда убрал из-за неудобного размещения
Мне такое вот тоже надо, буду думать как осуществить если придумаю напишу сюда ^-^

можете боле детально расписать чтоб фильтр біл сылками и в одну строчку, а то почемуто получаеться в столбик-))
*

sett

  • Захожу иногда
  • 54
  • 0 / 0
блин, у меня почему-то в опере отображается "Показать по:", а в мозиле и эксплорере пропала эта штука... в чем может быть дело??
*

sett

  • Захожу иногда
  • 54
  • 0 / 0
проблема с чего началась, в категории - 6 товаров, было отображение на 5 товаров на страницу, сделал отображение на 20, показать пропала и больше не появляется ни в одной категории!
самое интересное, если сделать шаг назад и заново сделать отображение на 5 товаров на страницу, то показать появляется на всех других страницах.. как-будто записывает куда-то... SEF не стоит
« Последнее редактирование: 05.04.2010, 01:17:41 от sett »
*

linur

  • Осваиваюсь на форуме
  • 10
  • 1 / 0
Обычно я не пишу подобные посты, но сейчас не могу не поблагодарить. Спасибо большое за решение, установилось сразу и без косяков!
*

shaiden

  • Новичок
  • 5
  • 0 / 0
Честно признаться - поменял файлы вручную - ноль эффекта ( применялось решение из аттача FilterManufactorer_VM_1.1.4.zip)
*

neutomim30

  • Захожу иногда
  • 86
  • 0 / 0
ничего не изменилось после того как закинул на сайт файлы..в чем же может быть дело? новое поле даже не появлилось
*

neutomim30

  • Захожу иногда
  • 86
  • 0 / 0
то есть хак у меня почему то не работает - Вирту 1.1.4
*

MR.TOR

  • Новичок
  • 8
  • 0 / 0
Хак отличный, СПАСИБО!
У меня вот какая проблема возникла. До установки Artio JoomSEF все работало. После, сортировка по производителю работает через раз. Нужно чтоб выводило (index.php?orderby=product_list&DescOrderBy=ASC&manufacturer_id=3&Itemid=2&option=com_virtuemart&page=shop.browse&category_id=1&limitstart=0&keyword=&keyword1=&keyword2=)
а выводит
(glavnaya/svi.html?limitstart=0&amp;orderby=product_price&amp;DescOrderBy=ASC&amp;keyword=&amp;keyword1=&amp;keyword2=)
Может что нужно в хаке изменить, или лучше в Artio правило создать(как содать правило?), если кто знает поделитесь. Буду благодарен.
*

ArtTheft

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Хм...подскажите как добавить сортировку по всем производителям..
*

styan

  • Новичок
  • 6
  • 0 / 0
Модератору огромное спасибо за хак! Фильтр по производителю работает на ура!
Еще бы посмотреть где-нить как сделать такой же фильтр по типу товара... Народ, может кто подскажет?
*

Timofey

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
Спасибо большое всё работает просто отлично на VM 1.1.4 толко подскажите пожалуйста как можно изменить надпись Select Manufacturer
А всё нашёл сам это в browse_filterbymf.tpl.php ещё раз спасибо.
« Последнее редактирование: 25.07.2010, 11:50:38 от Timofey »
*

BlackinWhite

  • Захожу иногда
  • 85
  • 0 / 0
Все сделал. Только не пойму почему в Select Manufacturer пусто, кроме "Выбрать" ничего нет, хотя Производители созданы, Товары закриплены за производителями.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

VirtueMart - SMS уведомления о сделаном заказе.

Автор bork

Ответов: 42
Просмотров: 22633
Последний ответ 26.07.2021, 22:11:25
от Oleg91
Отчеты и статистика для VirtueMart

Автор 4kict

Ответов: 25
Просмотров: 10097
Последний ответ 14.01.2021, 00:09:53
от gartes
Сортировка товаров по дате поступления

Автор coob

Ответов: 2
Просмотров: 2397
Последний ответ 21.06.2018, 08:40:05
от kungurskiy
IceVmCart - новый бесплатный модуль корзины для VirtueMart

Автор Grig2009

Ответов: 105
Просмотров: 52758
Последний ответ 05.02.2017, 11:44:02
от Super_Panda
Модуль недавно просмотренные товары для VirtueMart 1.1.X

Автор aleks_yug

Ответов: 97
Просмотров: 26574
Последний ответ 25.10.2016, 15:03:07
от Igoritaly