LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
04.02.2012, 10:16:06 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: [Решено] Количество под-категорий в одной строке V1.0.15 V1.1.3  (Прочитано 12149 раз)
0 Пользователей и 1 Гость смотрят эту тему.
userxp
Администратор
*******

Репутация: +388/-6
Offline Offline

Пол: Мужской
Сообщений: 3185


Злой и ужасный бармалей


« : 15.08.2006, 14:30:49 »

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

Переменную менять в файле /administrator/components/com_virtuemart/classes/ps_product_category.php
ориент. строка: 876
Записан
yAnTar
Завсегдатай
*****

Репутация: +80/-3
Offline Offline

Пол: Мужской
Сообщений: 495



« Ответ #1 : 14.09.2007, 01:09:43 »

Это относится к подкатегориям. А есть еще один случай когда надо установить количество категорий на главной странице магазина в одной строке. Надо поменять ту же самую переменную, только в другом файле:
/administrator/components/com_virtuemart/html/shop.index.php
Записан
Изя Врат
Осваиваюсь на форуме
***

Репутация: +3/-1
Offline Offline

Пол: Мужской
Сообщений: 27



« Ответ #2 : 02.03.2008, 00:47:09 »

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

Репутация: +3/-1
Offline Offline

Пол: Мужской
Сообщений: 27



« Ответ #3 : 02.03.2008, 01:20:16 »

Всё таки гугль рулит. Теперь это параметр хранится тут:

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

Буквально в пятой строке.
Записан
Demir0
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 28

Евро 2012


« Ответ #4 : 08.04.2008, 14:12:57 »

Да, так явно грамотней - указывать этот параметр в шаблоне. А то нейзвесно в каком месте его нарисовали сразу)))))

Я тут еще немного подделал.
Если заменить строку:
Код:
$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
То можно более гибко настроить все это дело.

Вроде просто, но полезно Wink
Записан
xDD
Давно я тут
****

Репутация: +2/-0
Offline Offline

Сообщений: 286



« Ответ #5 : 14.04.2009, 00:29:43 »

В версии VirtuMart 1.1.3 ничего такого в папке  /administrator/components/com_virtuemart/classes/ps_product_category.php где тока не искал((.
Записан
xDD
Давно я тут
****

Репутация: +2/-0
Offline Offline

Сообщений: 286



« Ответ #6 : 14.04.2009, 00:52:13 »

 Cheesy все разобрался не в ту папку смотрел) надо было сюды  /components/com_virtuemart/themes/default/templates/common/categoryChildlist.tpl.php а я в /administrator/components/* смотрел.
Записан
kjiupuk
Гость
« Ответ #7 : 09.08.2009, 19:57:59 »

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

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

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

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

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

С уважением, Дима!
Записан
Bugs_B
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 24


BugsB.ru


« Ответ #8 : 28.01.2010, 11:11:53 »

ДИМА ВОТ ОТВЕт  на твой вопрос, предупреждаю сразу я не программист но логично мыслить иногда умею
переменная $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
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 24


BugsB.ru


« Ответ #9 : 02.02.2010, 09:15:29 »

Товарищи помогите решить проблему начинающему программисту
Мне нужно, что бы на странице с категориями при входе в любую категорию было такое отображение товаров
Шапка [Категория]
                     [Под категория]
                                      [Товар] – кнопка купить товар и выбрать количество
                                      [Товар] – кнопка купить товар и выбрать количество
                                      [Товар] – кнопка купить товар и выбрать количество

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

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


Имя сайта\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
Завсегдатай
*****

Репутация: +9/-4
Offline Offline

Пол: Мужской
Сообщений: 715


Ученик html-я


« Ответ #10 : 13.02.2010, 21:47:05 »

а как убрать название под картинкой категории и оставить толькоккартинку как ссылку на категорию?
Записан
Bugs_B
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 24


BugsB.ru


« Ответ #11 : 22.02.2010, 15:02:30 »

а как убрать название под картинкой категории и оставить толькоккартинку как ссылку на категорию?
ковыряй вот этот файл там все есть
Записан
Vitek
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 84


« Ответ #12 : 28.10.2010, 18:43:13 »

Да, так явно грамотней - указывать этот параметр в шаблоне. А то нейзвесно в каком месте его нарисовали сразу)))))

Я тут еще немного подделал.
Если заменить строку:
Код:
$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
То можно более гибко настроить все это дело.

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

Репутация: +9/-4
Offline Offline

Пол: Мужской
Сообщений: 715


Ученик html-я


« Ответ #13 : 30.11.2010, 16:08:53 »

громко сказано РЕШЕНО ко7гда ничего не решено
Записан
Вованище
Осваиваюсь на форуме
***

Репутация: +19/-0
Offline Offline

Пол: Мужской
Сообщений: 136


<target = blank>


« Ответ #14 : 26.01.2011, 16:40:09 »

Решил этот вопрос таким образом:
В файле /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 } ?>

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

Репутация: +0/-0
Offline Offline

Сообщений: 105


« Ответ #15 : 13.06.2011, 06:29:29 »

Ребята, вопросик по расположению категорий.

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

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

« Последнее редактирование: 16.06.2011, 13:27:08 от Гринвич » Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet