Забобрить эту страницу!
Форум русской поддержки Joomla! CMS
03.09.2010, 11:28:00 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

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

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


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


Просмотр профиля
« : 15.08.2006, 14:30:49 »

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

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

yAnTar
Завсегдатай
*****

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

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



Просмотр профиля WWW
« Ответ #1 : 14.09.2007, 01:09:43 »

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

Firefox the best, Google the best, jQuery the best.
yAnTar блог
Изя Врат
Захожу иногда
**

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

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



Просмотр профиля
« Ответ #2 : 02.03.2008, 00:47:09 »

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

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

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



Просмотр профиля
« Ответ #3 : 02.03.2008, 01:20:16 »

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

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

Буквально в пятой строке.
Записан
Demir0
Захожу иногда
**

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

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

Евро 2012


Просмотр профиля WWW
« Ответ #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
Осваиваюсь на форуме
***

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

Сообщений: 123



Просмотр профиля
« Ответ #5 : 14.04.2009, 00:29:43 »

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

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

Сообщений: 123



Просмотр профиля
« Ответ #6 : 14.04.2009, 00:52:13 »

 Cheesy все разобрался не в ту папку смотрел) надо было сюды  /components/com_virtuemart/themes/default/templates/common/categoryChildlist.tpl.php а я в /administrator/components/* смотрел.
Записан
kjiupuk
Новичок
*

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

Сообщений: 2


Просмотр профиля
« Ответ #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

Сообщений: 17


Просмотр профиля
« Ответ #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

Сообщений: 17


Просмотр профиля
« Ответ #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
Давно я тут
****

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

Сообщений: 255


Просмотр профиля
« Ответ #10 : 13.02.2010, 21:47:05 »

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

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

Сообщений: 17


Просмотр профиля
« Ответ #11 : 22.02.2010, 15:02:30 »

а как убрать название под картинкой категории и оставить толькоккартинку как ссылку на категорию?
ковыряй вот этот файл там все есть
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

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