VM 2.x Проблема с шаблоном категорИЙ (categories)

Статус
В этой теме нельзя размещать новые ответы.

Terminatorr

Писатель
Регистрация
19 Апр 2012
Сообщения
5
Реакции
0
Хочу, чтобы категории на странице категорий выводились по нескольку штук в ряду.
В админке все правильно проставлено (3 в ряду).
В шаблоне, который components/com_virtuemart/views/categories/tmpl/default.php - ничего не менялось, он такой же, как и был, и в нем строчка про 3 в ряду есть.
Однако категории выводятся в столбик.
(Серая линия видимо разделяет пресловутые 3 в ряд)
Не знаю, уже что попробовать.
Еще в этом шаблоне смущает то, что на странице вначале выводится поле с описанием старшей категории, а в шаблоне упоминания category_desc нет...

С чем все это может быть связано?

Вот сами товары мне нужно выводить по 1 в ряд. Может, это какой-то странноватый глюк? раз товары по одному, то и категории?
 
Хочу, чтобы категории на странице категорий выводились по нескольку штук в ряду.
В админке все правильно проставлено (3 в ряду).
В шаблоне, который components/com_virtuemart/views/categories/tmpl/default.php - ничего не менялось, он такой же, как и был, и в нем строчка про 3 в ряду есть.
Однако категории выводятся в столбик. (Для просмотра ссылки Войди или Зарегистрируйся)
(Серая линия видимо разделяет пресловутые 3 в ряд)
Не знаю, уже что попробовать.
Еще в этом шаблоне смущает то, что на странице вначале выводится поле с описанием старшей категории, а в шаблоне упоминания category_desc нет...

С чем все это может быть связано?

Вот сами товары мне нужно выводить по 1 в ряд. Может, это какой-то странноватый глюк? раз товары по одному, то и категории?

Virtuemart в этом не виноват. У вас все банально и просто, во всем виноват css файл вашего шаблона. В файле joomladefaults.css удалите

Код:
.category {
width: 100%;
}

И все будет как по маслу:)
 
По первому сообщению все решилось, но такая же сложность уже с первой страницей виртумарта. (
На ней выведен каталог с подкаталогами, но вывелось все тоже исключительно в 1 столбик.
а должно было быть
1. столбец_____2 стобец
категория1_____категория 2
1.1____________2.1
1.2____________2.2

Упражнения с float в файле default-catefories.php ни к чему позитивному не привели. Firebug предлагает смотреть в файле vmsite-ltr.css, на category-view .row - но что там нужно править - я не знаю, так как чайник. (( Подскажите, пожалуйста!
 
Я так понял, что ты хочешь получить что-то вот такое:
image_4fae590eb7485.jpg

Если да, то тогда тебе нужно почистить лишние стили и изменить вложенность блоков.
Код:
<div class="row">
  <div class="category floatleft vertical-separator" style="text-align: left;width:50%;">
    <div class="spacer">
      <h2><a href="/index.php/catalog/russian" title="Русские издания">Русские издания<br>
        <img src="/images/stories/virtuemart/category/resized/kutuzoff_90x90.jpg" alt="kutuzoff"></a>
      </h2>
    </div>
    <!-- START Вывод списка подкатегорий -->
    <div class="category floatleft vertical-separator" style="text-align: left;">
        <div class="spacer">
            <a href="/index.php/catalog/russian-book/memoir" title="Дневники, мемуары, письма">Дневники, мемуары, письма</a>
        </div>
        <div class="spacer">
            <a href="/index.php/catalog/russian-book/military-history" title="Военная история">Военная история</a>
        </div>
        <!-- И так далее. Все подкатегории -->
      </div>
      <!-- END -->
     
  <div class="category floatleft vertical-separator" style="text-align: left;width:50%;">
    <div class="spacer">
      <h2><a href="/index.php/catalog/foreign-books" title="Зарубежные издания">Зарубежные издания<br>
              <img src="/images/stories/virtuemart/category/resized/napoleon_90x90.jpg" alt="napoleon"></a></h2>
    </div>
    <!-- START Вывод списка подкатегорий -->
    <!-- Тут все так же, как и первом куске разметки --> 
    <!-- END -->
  </div>
<div class="clear"></div>
</div>

Вообще, глубже я особо не лез, но советую еще раз просмотреть разметку и удалить лишние теги и стили, которые ничем не помогают, а добавляют путаницу.
 
Да, именно к такому виду и стремлюсь.
Так сделать - это решение. В крайнем случае придется прибегнуть к нему.
... но в том коде, который у меня в шаблоне - там циклы, и вот с ними то у меня ничего не получается...

он ниже

PHP:
<?php
// Access
defined('_JEXEC') or die('Restricted access');
 
// Category and Columns Counter
$iCol = 1;
$iCategory = 1;
 
// Calculating Categories Per Row
$categories_per_row = VmConfig::get('categories_per_row', 3);
$category_cellwidth = ' width' . floor(100 / $categories_per_row);
 
// Separator
$verticalseparator = " vertical-separator";
?>
 
<div class="category-view">
 
  <!--  <h2><?php echo JText::_('COM_VIRTUEMART_CATEGORIES') ?></h2> -->
 
    <?php
    // Start the Output
    foreach ($this->categories as $category) {
 
    // Show the horizontal seperator
    if ($iCol == 1 && $iCategory > $categories_per_row) {
        ?>
        <div class="horizontal-separator"></div>
    <?php
    }
 
    // this is an indicator wether a row needs to be opened or not
    if ($iCol == 1) {
        ?>
        <div class="row">
        <?php
        }
 
        // Show the vertical seperator
        if ($iCategory == $categories_per_row or $iCategory % $categories_per_row == 0) {
        $show_vertical_separator = ' ';
        } else {
        $show_vertical_separator = $verticalseparator;
        }
 
        // Category Link
        $caturl = JRoute::_('index.php?option=com_virtuemart&view=category&virtuemart_category_id=' . $category->virtuemart_category_id);
 
        // Show Category
        ?>
        <div class="category floatleft<?php echo $category_cellwidth . $show_vertical_separator ?>"style="text-align: left;width:50%;">
            <div class="spacer">
            <h2>
                <a href="<?php echo $caturl ?>" title="<?php echo $category->category_name ?>">
    <?php echo $category->category_name ?>
                </br>
        <?php
        if (!empty($category->images)) {
        echo $category->images[0]->displayMediaThumb("", false);
        }
        ?>
                </a>
            </h2>
            </div>
        </div>
 
 
 
<!-- START вывод подкатегорий -->
    <?php if ($category->childs ) { ?>
    <div class="category floatleft <?php echo $category_cellwidth . $show_vertical_separator ?>" style="text-align: left;width:100%;">
        <?php
            foreach ($category->childs as $child) {
            $caturl = JRoute::_('index.php?option=com_virtuemart&view=category&virtuemart_category_id='.$child->virtuemart_category_id);
            $cattext = $child->category_name;
        ?>
    <div style="display:block;float:left;width:50%;">
        <div class="spacer">
            <!--<h2> -->
            <a href="<?php echo $caturl ?>" title="<?php echo $child->category_name ?>">
        <?php echo $child->category_name ?>
 
 
    <!--<?php
        if (!empty($child->images)) {
        echo $child->images[0]->displayMediaThumb("", false);
    }
    ?> -->
            </a>
     
        <!--    </h2> -->
    </div>
    </div>
    <?php } echo '</div>'; } ?>
<!-- конец вывода подкатегорий -->
 
    <?php
    $iCategory++;
 
    // Do we need to close the current row now?
    if ($iCol == $categories_per_row) {
        ?>
        <div class="clear"></div>
        </div>
    <?php
    $iCol = 1;
    } else {
    $iCol++;
    }
}
// Do we need a final closing row tag?
if ($iCol != 1) {
    ?>
        <div class="clear"></div>
    </div>
    <?php
}
?>
</div>
 
Если бы не ленился и внимательно посмотрел, то сам бы разобрался где и чего переставить. Я прав? :)
Вот поправил для тебя, вроде, ничего не пропустил. Проверяй вложенный файл. Если будут вопросы, то пиши.
 

Вложения

  • new3.zip
    1,2 KB · Просмотры: 21
А как вывести предположим в 3-4 колонки?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху