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

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Что бы изменить кол-во под-категорий, отображаемых в одной строке (когда открываете категорию), необходимо поменять значение переменной $categories_per_row.
По-умолчанию, стоит 4.
Почему эта настройка не была вынесена в админку - не знаю :(

Переменную менять в файле /administrator/components/com_virtuemart/classes/ps_product_category.php
ориент. строка: 876
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

yAnTar

  • Захожу иногда
  • 296
  • 81 / 3
Это относится к подкатегориям. А есть еще один случай когда надо установить количество категорий на главной странице магазина в одной строке. Надо поменять ту же самую переменную, только в другом файле:
/administrator/components/com_virtuemart/html/shop.index.php
Firefox the best, Google the best, jQuery the best.
yAnTar блог
*

Изя Врат

  • Осваиваюсь на форуме
  • 20
  • 3 / 1
Хм... В наличии Версия 1.1.0 RC.
Необходимо выводить в ряду только три категории. Указанные файлы проглядел, там сейчас эта переменная не встречается. Явного указания четырех категорий в одном ряду, тоже не видно... Подскажите, где копать?
*

Изя Врат

  • Осваиваюсь на форуме
  • 20
  • 3 / 1
Всё таки гугль рулит. Теперь это параметр хранится тут:

/components/com_virtuemart/themes/default/templates/common/categoryChildlist.tpl.php

Буквально в пятой строке.
*

Demir0

  • Осваиваюсь на форуме
  • 20
  • 2 / 0
  • Евро 2012
Да, так явно грамотней - указывать этот параметр в шаблоне. А то нейзвесно в каком месте его нарисовали сразу)))))

Я тут еще немного подделал.
Если заменить строку:
Код
$categories_per_row = 4;
на
Код
if($category_id == [ИД ВАШЕЙ КАТЕГОРИИ]){$categories_per_row = 1;}else{$categories_per_row = 4;}
Где [ИД ВАШЕЙ КАТЕГОРИИ] - это вот этот кусок строки - .../index.php?option=com_virtuemart&page=shop.browse&category_id=3&Itemid=1
То можно более гибко настроить все это дело.

Вроде просто, но полезно ;)
*

xDD

  • Захожу иногда
  • 300
  • 4 / 0
В версии VirtuMart 1.1.3 ничего такого в папке  /administrator/components/com_virtuemart/classes/ps_product_category.php где тока не искал((.
*

xDD

  • Захожу иногда
  • 300
  • 4 / 0
 :D все разобрался не в ту папку смотрел) надо было сюды  /components/com_virtuemart/themes/default/templates/common/categoryChildlist.tpl.php а я в /administrator/components/* смотрел.

Доброго времени суток!

К сожалению, предложенный вариант с конструкцией if почему-то не работает, т.е. в ситуации, например,

if($category_id == 6){$categories_per_row = 1;}else{$categories_per_row = 2;}

у 6 категории, как, в-принципе, и любой другой, отображение будет происходить в два столбца, а не в один...

какие-нибудь идеи есть?

С уважением, Дима!
*

Bugs_B

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
  • http://sait-pro.ru
ДИМА ВОТ ОТВЕт  на твой вопрос, предупреждаю сразу я не программист но логично мыслить иногда умею
переменная $category_id при отпечатываение не выдает ничего а это значит в ней ничего нет и поэтому проверку
Код
if($category_id == 6){$categories_per_row = 1;}else{$categories_per_row = 2;} 
сдесь  использовать не рационально вот мое предложение я сравниваю по адресу загруженной страници и у меня все работает а если умельци его пере делаю так как должнобыть правильно значит еще лучше будет
Код
if( !isset( $categories_per_row )) {
$b = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
    if($b == "http://ПРЯМОЙ АДРЕС ВАШЕГО КАТАЛОГА" ){$categories_per_row = 4;}else{$categories_per_row = 1;}
*

Bugs_B

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
  • http://sait-pro.ru
Товарищи помогите решить проблему начинающему программисту
Мне нужно, что бы на странице с категориями при входе в любую категорию было такое отображение товаров
Шапка [Категория]
                     [Под категория]
                                      [Товар] – кнопка купить товар и выбрать количество
                                      [Товар] – кнопка купить товар и выбрать количество
                                      [Товар] – кнопка купить товар и выбрать количество

                     [Под категория]

                                      [Товар] – кнопка купить товар и выбрать количество
                                      [Товар] – кнопка купить товар и выбрать количество
                                      [Товар] – кнопка купить товар и выбрать количество


Имя сайта\www\components\com_virtuemart\themes\default\templates\common\categoryChildlist.tpl.php
Сделал проверку (Но проверка кривая, кто может придумать другую, правильную, буду благодарен)
Код
 if($b == "http://komiron.ru/index.php?option=com_virtuemart&Itemid=29" or $b == "http://www.komiron.ru/index.php?option=com_virtuemart&Itemid=29" ){$categories_per_row = 4;}else{$categories_per_row = 1;}                  
То есть если путь загруженной страницы равен пути отображения категории то тогда отображаться 4 категории на страницы если нет то тогда отображение одной подкатегории в строке а дальше проверка какие товары храниться в этой категории и отпечатывание их
Вот полный код
Код

<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
mm_showMyFileName(__FILE__);

$iCol = 1;
if( !isset( $categories_per_row )) {
$b = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
    if($b == "http://komiron.ru/index.php?option=com_virtuemart&Itemid=29" or $b == "http://www.komiron.ru/index.php?option=com_virtuemart&Itemid=29" ){$categories_per_row = 4;}else{$categories_per_row = 1;}
}
$cellwidth = intval( 100 / $categories_per_row );

if( empty( $categories )) {
return; // Do nothing, if there are no child categories!
}
?>


<br/>
<table width="100%" cellspacing="0" cellpadding="0" border="1">
<?php
foreach( $categories as $category ) {
if ($iCol == 1) { // this is an indicator wether a row needs to be opened or not
echo "<tr>\n";
}
?>

<td align="center" width="<?php echo $cellwidth ?>%" >
<br />
         <a title="<?php echo $category["category_name"] ?>" href="<?php $sess->purl(URL."index.php?option=com_virtuemart&amp;page=shop.browse&amp;category_id=".$category["category_id"])?>">
<?php

           if($b == "http://komiron.ru/index.php?option=com_virtuemart&Itemid=29" or $b == "http://www.komiron.ru/index.php?option=com_virtuemart&Itemid=29" ){

         if ( $category["category_thumb_image"] ) {
echo ps_product::image_tag( $category["category_thumb_image"], "alt=\"".$category["category_name"]."\"", 0, "category");
echo "<br /><br/>\n";
}
            echo $category['number_of_products'];
            }
            else{

            do
{

 $result = mysql_query ("SELECT category_description FROM jos_vm_category WHERE category_id=".$category["category_id"]);
$f = mysql_fetch_array ($result);

echo $f['category_description']  ;

       }
       while ($f = mysql_fetch_array ($result));

  }
            ?>


</a>


      <?php         /*вызов продукта из базы и проверка лампочки на свет (теплый, белый, холодный)*/

       if($b == "http://komiron.ru/index.php?option=com_virtuemart&Itemid=29" or $b == "http://www.komiron.ru/index.php?option=com_virtuemart&Itemid=29" ){

          }  else{

          $result_category = mysql_query ("SELECT * FROM jos_vm_product_category_xref WHERE category_id=".$category["category_id"]);
$fooo1 = mysql_fetch_array ($result_category);

           do    /*Находим в какой категории какой продукт лежит*/
{
   $product_id_categor = $fooo1['product_id'];
  $product_name = $fooo1['product_name'];

           if ($product_id_categor == "") {  } else {       /*достаем из бызы картинку и все данные о продукте*/

            $result_product = mysql_query ("SELECT * FROM jos_vm_product WHERE product_id=".$product_id_categor);
$fooo2 = mysql_fetch_array ($result_product);

                 do    /*Находим в какой категории какой продукт лежит*/
{
   $product_id = $fooo2['product_id'];
  $product_thumb_image = $fooo2['product_thumb_image'];


/*? КАК МНЕ ВСТАВИТЬ ВОТ СЮДА КНОПКУ КУПИТЬ?*/
    echo "<a style='font-size:16px; font-weight:bold;' href='\n";
echo $sess->purl(URL."www.g-too.ru/index.php?page=shop.product_details&flypage=flypage.tpl&product_id=".$product_id."&category_id=".$category["category_id"]."&option=com_virtuemart&Itemid=1");

       echo "'>\n";
          echo ps_product::image_tag( $product_thumb_image, 'class="browseProductImage" border="1" title="'.$product_name.'" alt="'.$product_name .'"'  ) ;

 echo $mm_action_url;
echo  @$_REQUEST['category_id'];
echo $product_id;
echo $i;


               echo $form_addtocart;
/*? КАК МНЕ ВСТАВИТЬ ВОТ СЮДА КНОПКУ КУПИТЬ?*/
                    }
            while ($fooo2 = mysql_fetch_array ($result_product));
                     }
                 }
            while ($fooo1 = mysql_fetch_array ($result_category));
                 }
             ?>
    </td>


<?php           /*отпечатывание картинки и информации о категории*/
// Do we need to close the current row now?
if ($iCol == $categories_per_row) { // If the number of products per row has been reached
echo "</tr>\n";
$iCol = 1;
}
else {
$iCol++;
}
}
// Do we need a final closing row tag?
if ($iCol != 1) {
echo "</tr>\n";
}

if($b == "http://komiron.ru/index.php?option=com_virtuemart&Itemid=29" or $b == "http://www.komiron.ru/index.php?option=com_virtuemart&Itemid=29" ){echo "";} else { echo ps_product::image_tag( $category["category_thumb_image"], "alt=\"".$category["category_name"]."\"", 0, "category");           }
?>
</table>


Я нашел что за отображение этой формы (Кнопка купить и количество товаров отвечает вот эта строчка

Код
<div style="float:left;width:90%;margin-top: 3px;"><?php echo $form_addtocart ?> 
в шаблоне отображения товаров
Имя вашего сайта\www\components\com_virtuemart\themes\default\templates\browse\browse_3.php
 Файл формы купить  и количество товаров находиться вот где
ваш сайт\www\components\com_virtuemart\themes\default\templates\browse\includes\addtocart_form.tpl.php
пожалуйста помогите пожалуйста кто чем сможет как мне перенести вот эту строчку
Код
<div style="float:left;width:90%;margin-top: 3px;"><?php echo $form_addtocart ?> 
Из browse_3.php в мой код куда я подписал в закомментированных скобках
*

terr

  • Давно я тут
  • 824
  • 14 / 6
  • Ученик html-я
а как убрать название под картинкой категории и оставить толькоккартинку как ссылку на категорию?
*

Bugs_B

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
  • http://sait-pro.ru
а как убрать название под картинкой категории и оставить толькоккартинку как ссылку на категорию?
ковыряй вот этот файл там все есть
*

Vitek

  • Захожу иногда
  • 185
  • 0 / 0
Да, так явно грамотней - указывать этот параметр в шаблоне. А то нейзвесно в каком месте его нарисовали сразу)))))

Я тут еще немного подделал.
Если заменить строку:
Код
$categories_per_row = 4;
на
Код
if($category_id == [ИД ВАШЕЙ КАТЕГОРИИ]){$categories_per_row = 1;}else{$categories_per_row = 4;}
Где [ИД ВАШЕЙ КАТЕГОРИИ] - это вот этот кусок строки - .../index.php?option=com_virtuemart&page=shop.browse&category_id=3&Itemid=1
То можно более гибко настроить все это дело.

Вроде просто, но полезно ;)
у меня этот способ не работает, какие значение не ставлю всё равно количество категорий в одной строке одинаково количеству подкатегорий в одной строке, подскажите подробнее плз
*

terr

  • Давно я тут
  • 824
  • 14 / 6
  • Ученик html-я
громко сказано РЕШЕНО ко7гда ничего не решено
*

Вованище

  • Захожу иногда
  • 134
  • 20 / 0
  • <target = blank>
Решил этот вопрос таким образом:
В файле /components/com_virtuemart/themes/default/templates/common/categoryChildlist.tpl.php весь код меняем на это:
Код
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); 
mm_showMyFileName(__FILE__);

if( empty( $categories )) {
return; // Do nothing, if there are no child categories!
}
?>
<br/>
<?php
foreach( $categories as $category ) { ?>
<div style="float:left; width:160px;">
         <a title="<?php echo $category["category_name"] ?>" href="<?php $sess->purl(URL."index.php?option=com_virtuemart&amp;page=shop.browse&amp;category_id=".$category["category_id"])?>">
<?php
if ( $category["category_thumb_image"] ) {
echo ps_product::image_tag( $category["category_thumb_image"], "alt=\"".$category["category_name"]."\"", 0, "category");
echo "<br /><br/>\n";
}
echo $category["category_name"];
echo $category['number_of_products'];
?>
</a></div>
<?php } ?>

Ширину дива задаем по желанию.
Теперь имеем в ряду столько подкатегорий, сколько помещается в окно.
*

Гринвич

  • Захожу иногда
  • 213
  • 0 / 0
Ребята, вопросик по расположению категорий.

У меня 19 категорий расположены по 3 в ряду.
Появилась категория (перчатки) которая выпадает из общей картины (18x3)
Хочу её расположить в нижней части всех категорий, по центру.
(широкую картинку поставил специально для этого)

Знаю что править нужно файлик categoryChildlist.tpl.php, но не знаю как.

« Последнее редактирование: 16.06.2011, 13:27:08 от Гринвич »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Невидимая регистрация ( Покупка без регистрации ) V1.1.3

Автор urodoff

Ответов: 319
Просмотров: 98968
Последний ответ 27.10.2014, 15:27:02
от gaalferov
[Решено] Отобразить кол-во товаров из всех подкатегорий V1.1.3

Автор bazic

Ответов: 19
Просмотров: 11036
Последний ответ 18.09.2014, 06:39:33
от fila61
вывод категории и её подкатегорий на одной странице

Автор sega

Ответов: 44
Просмотров: 12296
Последний ответ 30.04.2014, 14:05:45
от ИринаМ
[Решено] Добавление Watermark к фото товара V1.0.15 V1.1.3

Автор mickymouse

Ответов: 52
Просмотров: 19065
Последний ответ 13.06.2013, 01:04:46
от richman
[Решено] Как изменить ,товаров в наличии 1 на "есть в наличии" V1.0.15 V1.1.3

Автор ButuzOFF

Ответов: 93
Просмотров: 34477
Последний ответ 17.05.2013, 21:10:44
от sa1981