Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С Битрикс
Войти
Регистрация
Восстановить пароль
 
deathnoote
0 / 0 / 0
Регистрация: 18.08.2009
Сообщений: 101
1

catalog.section вывод в две колонки ?

02.11.2012, 15:50. Просмотров 2958. Ответов 0
Метки нет (Все метки)

Здравствуйте,

есть компанент catalog.section.

и есть код по умолчанию такой вот

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<div class="catalog-section">
<?if($arParams["DISPLAY_TOP_PAGER"]):?>
    <?=$arResult["NAV_STRING"]?><br />
<?endif;?>
<table cellpadding="0" cellspacing="0" border="0">
        <?foreach($arResult["ITEMS"] as $cell=>$arElement):?>
        <?
        $this->AddEditAction($arElement['ID'], $arElement['EDIT_LINK'], CIBlock::GetArrayByID($arParams["IBLOCK_ID"], "ELEMENT_EDIT"));
        $this->AddDeleteAction($arElement['ID'], $arElement['DELETE_LINK'], CIBlock::GetArrayByID($arParams["IBLOCK_ID"], "ELEMENT_DELETE"), array("CONFIRM" => GetMessage('CT_BCS_ELEMENT_DELETE_CONFIRM')));
        ?>
        <?if($cell%$arParams["LINE_ELEMENT_COUNT"] == 0):?>
        <tr>
        <?endif;?>
 
        <td valign="top" width="<?=round(100/$arParams["LINE_ELEMENT_COUNT"])?>%" id="<?=$this->GetEditAreaId($arElement['ID']);?>">
 
            <table cellpadding="0" cellspacing="2" border="0">
                <tr>
                    <?if(is_array($arElement["PREVIEW_PICTURE"])):?>
                        <td valign="top">
                        <a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><img border="0" src="<?=$arElement["PREVIEW_PICTURE"]["SRC"]?>" width="<?=$arElement["PREVIEW_PICTURE"]["WIDTH"]?>" height="<?=$arElement["PREVIEW_PICTURE"]["HEIGHT"]?>" alt="<?=$arElement["NAME"]?>" title="<?=$arElement["NAME"]?>" /></a><br />
                        </td>
                    <?elseif(is_array($arElement["DETAIL_PICTURE"])):?>
                        <td valign="top">
                        <a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><img border="0" src="<?=$arElement["DETAIL_PICTURE"]["SRC"]?>" width="<?=$arElement["DETAIL_PICTURE"]["WIDTH"]?>" height="<?=$arElement["DETAIL_PICTURE"]["HEIGHT"]?>" alt="<?=$arElement["NAME"]?>" title="<?=$arElement["NAME"]?>" /></a><br />
                        </td>
                    <?endif?>
                    <td valign="top"><a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><?=$arElement["NAME"]?></a><br />
                        <?foreach($arElement["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?>
                            <?=$arProperty["NAME"]?>:&nbsp;<?
                                if(is_array($arProperty["DISPLAY_VALUE"]))
                                    echo implode("&nbsp;/&nbsp;", $arProperty["DISPLAY_VALUE"]);
                                else
                                    echo $arProperty["DISPLAY_VALUE"];?><br />
                        <?endforeach?>
                        <br />
                        <?=$arElement["PREVIEW_TEXT"]?>
                    </td>
                </tr>
            </table>
            <?if(is_array($arElement["OFFERS"]) && !empty($arElement["OFFERS"])):?>
                <?foreach($arElement["OFFERS"] as $arOffer):?>
                    <?foreach($arParams["OFFERS_FIELD_CODE"] as $field_code):?>
                        <small><?echo GetMessage("IBLOCK_FIELD_".$field_code)?>:&nbsp;<?
                                echo $arOffer[$field_code];?></small><br />
                    <?endforeach;?>
                    <?foreach($arOffer["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?>
                        <small><?=$arProperty["NAME"]?>:&nbsp;<?
                            if(is_array($arProperty["DISPLAY_VALUE"]))
                                echo implode("&nbsp;/&nbsp;", $arProperty["DISPLAY_VALUE"]);
                            else
                                echo $arProperty["DISPLAY_VALUE"];?></small><br />
                    <?endforeach?>
                    <?foreach($arOffer["PRICES"] as $code=>$arPrice):?>
                        <?if($arPrice["CAN_ACCESS"]):?>
                            <p><?=$arResult["PRICES"][$code]["TITLE"];?>:&nbsp;&nbsp;
                            <?if($arPrice["DISCOUNT_VALUE"] < $arPrice["VALUE"]):?>
                                <s><?=$arPrice["PRINT_VALUE"]?></s> <span class="catalog-price"><?=$arPrice["PRINT_DISCOUNT_VALUE"]?></span>
                            <?else:?>
                                <span class="catalog-price"><?=$arPrice["PRINT_VALUE"]?></span>
                            <?endif?>
                            </p>
                        <?endif;?>
                    <?endforeach;?>
                    <p>
                    <?if($arParams["DISPLAY_COMPARE"]):?>
                        <noindex>
                        <a href="<?echo $arOffer["COMPARE_URL"]?>" rel="nofollow"><?echo GetMessage("CATALOG_COMPARE")?></a>&nbsp;
                        </noindex>
                    <?endif?>
                    <?if($arOffer["CAN_BUY"]):?>
                        <?if($arParams["USE_PRODUCT_QUANTITY"]):?>
                            <form action="<?=POST_FORM_ACTION_URI?>" method="post" enctype="multipart/form-data">
                            <table border="0" cellspacing="0" cellpadding="2">
                                <tr valign="top">
                                    <td><?echo GetMessage("CT_BCS_QUANTITY")?>:</td>
                                    <td>
                                        <input type="text" name="<?echo $arParams["PRODUCT_QUANTITY_VARIABLE"]?>" value="1" size="5">
                                    </td>
                                </tr>
                            </table>
                            <input type="hidden" name="<?echo $arParams["ACTION_VARIABLE"]?>" value="BUY">
                            <input type="hidden" name="<?echo $arParams["PRODUCT_ID_VARIABLE"]?>" value="<?echo $arOffer["ID"]?>">
                            <input type="submit" name="<?echo $arParams["ACTION_VARIABLE"]."BUY"?>" value="<?echo GetMessage("CATALOG_BUY")?>">
                            <input type="submit" name="<?echo $arParams["ACTION_VARIABLE"]."ADD2BASKET"?>" value="<?echo GetMessage("CATALOG_ADD")?>">
                            </form>
                        <?else:?>
                            <noindex>
                            <a href="<?echo $arOffer["BUY_URL"]?>" rel="nofollow"><?echo GetMessage("CATALOG_BUY")?></a>
                            &nbsp;<a href="<?echo $arOffer["ADD_URL"]?>" rel="nofollow"><?echo GetMessage("CATALOG_ADD")?></a>
                            </noindex>
                        <?endif;?>
                    <?elseif(count($arResult["PRICES"]) > 0):?>
                        <?=GetMessage("CATALOG_NOT_AVAILABLE")?>
                    <?endif?>
                    </p>
                <?endforeach;?>
            <?else:?>
                <?foreach($arElement["PRICES"] as $code=>$arPrice):?>
                    <?if($arPrice["CAN_ACCESS"]):?>
                        <p><?=$arResult["PRICES"][$code]["TITLE"];?>:&nbsp;&nbsp;
                        <?if($arPrice["DISCOUNT_VALUE"] < $arPrice["VALUE"]):?>
                            <s><?=$arPrice["PRINT_VALUE"]?></s> <span class="catalog-price"><?=$arPrice["PRINT_DISCOUNT_VALUE"]?></span>
                        <?else:?><span class="catalog-price"><?=$arPrice["PRINT_VALUE"]?></span><?endif;?>
                        </p>
                    <?endif;?>
                <?endforeach;?>
                <?if(is_array($arElement["PRICE_MATRIX"])):?>
                    <table cellpadding="0" cellspacing="0" border="0" width="100%" class="data-table">
                    <thead>
                    <tr>
                        <?if(count($arElement["PRICE_MATRIX"]["ROWS"]) >= 1 && ($arElement["PRICE_MATRIX"]["ROWS"][0]["QUANTITY_FROM"] > 0 || $arElement["PRICE_MATRIX"]["ROWS"][0]["QUANTITY_TO"] > 0)):?>
                            <td valign="top" nowrap><?= GetMessage("CATALOG_QUANTITY") ?></td>
                        <?endif?>
                        <?foreach($arElement["PRICE_MATRIX"]["COLS"] as $typeID => $arType):?>
                            <td valign="top" nowrap><?= $arType["NAME_LANG"] ?></td>
                        <?endforeach?>
                    </tr>
                    </thead>
                    <?foreach ($arElement["PRICE_MATRIX"]["ROWS"] as $ind => $arQuantity):?>
                    <tr>
                        <?if(count($arElement["PRICE_MATRIX"]["ROWS"]) > 1 || count($arElement["PRICE_MATRIX"]["ROWS"]) == 1 && ($arElement["PRICE_MATRIX"]["ROWS"][0]["QUANTITY_FROM"] > 0 || $arElement["PRICE_MATRIX"]["ROWS"][0]["QUANTITY_TO"] > 0)):?>
                            <th nowrap><?
                                if (IntVal($arQuantity["QUANTITY_FROM"]) > 0 && IntVal($arQuantity["QUANTITY_TO"]) > 0)
                                    echo str_replace("#FROM#", $arQuantity["QUANTITY_FROM"], str_replace("#TO#", $arQuantity["QUANTITY_TO"], GetMessage("CATALOG_QUANTITY_FROM_TO")));
                                elseif (IntVal($arQuantity["QUANTITY_FROM"]) > 0)
                                    echo str_replace("#FROM#", $arQuantity["QUANTITY_FROM"], GetMessage("CATALOG_QUANTITY_FROM"));
                                elseif (IntVal($arQuantity["QUANTITY_TO"]) > 0)
                                    echo str_replace("#TO#", $arQuantity["QUANTITY_TO"], GetMessage("CATALOG_QUANTITY_TO"));
                            ?></th>
                        <?endif?>
                        <?foreach($arElement["PRICE_MATRIX"]["COLS"] as $typeID => $arType):?>
                            <td><?
                                if($arElement["PRICE_MATRIX"]["MATRIX"][$typeID][$ind]["DISCOUNT_PRICE"] < $arElement["PRICE_MATRIX"]["MATRIX"][$typeID][$ind]["PRICE"]):?>
                                    <s><?=FormatCurrency($arElement["PRICE_MATRIX"]["MATRIX"][$typeID][$ind]["PRICE"], $arElement["PRICE_MATRIX"]["MATRIX"][$typeID][$ind]["CURRENCY"])?></s><span class="catalog-price"><?=FormatCurrency($arElement["PRICE_MATRIX"]["MATRIX"][$typeID][$ind]["DISCOUNT_PRICE"], $arElement["PRICE_MATRIX"]["MATRIX"][$typeID][$ind]["CURRENCY"]);?></span>
                                <?else:?>
                                    <span class="catalog-price"><?=FormatCurrency($arElement["PRICE_MATRIX"]["MATRIX"][$typeID][$ind]["PRICE"], $arElement["PRICE_MATRIX"]["MATRIX"][$typeID][$ind]["CURRENCY"]);?></span>
                                <?endif?>&nbsp;
                            </td>
                        <?endforeach?>
                    </tr>
                    <?endforeach?>
                    </table><br />
                <?endif?>
                <?if($arParams["DISPLAY_COMPARE"]):?>
                    <noindex>
                    <a href="<?echo $arElement["COMPARE_URL"]?>" rel="nofollow"><?echo GetMessage("CATALOG_COMPARE")?></a>&nbsp;
                    </noindex>
                <?endif?>
                <?if($arElement["CAN_BUY"]):?>
                    <?if($arParams["USE_PRODUCT_QUANTITY"] || count($arElement["PRODUCT_PROPERTIES"])):?>
                        <form action="<?=POST_FORM_ACTION_URI?>" method="post" enctype="multipart/form-data">
                        <table border="0" cellspacing="0" cellpadding="2">
                        <?if($arParams["USE_PRODUCT_QUANTITY"]):?>
                            <tr valign="top">
                                <td><?echo GetMessage("CT_BCS_QUANTITY")?>:</td>
                                <td>
                                    <input type="text" name="<?echo $arParams["PRODUCT_QUANTITY_VARIABLE"]?>" value="1" size="5">
                                </td>
                            </tr>
                        <?endif;?>
                        <?foreach($arElement["PRODUCT_PROPERTIES"] as $pid => $product_property):?>
                            <tr valign="top">
                                <td><?echo $arElement["PROPERTIES"][$pid]["NAME"]?>:</td>
                                <td>
                                <?if(
                                    $arElement["PROPERTIES"][$pid]["PROPERTY_TYPE"] == "L"
                                    && $arElement["PROPERTIES"][$pid]["LIST_TYPE"] == "C"
                                ):?>
                                    <?foreach($product_property["VALUES"] as $k => $v):?>
                                        <label><input type="radio" name="<?echo $arParams["PRODUCT_PROPS_VARIABLE"]?>[<?echo $pid?>]" value="<?echo $k?>" <?if($k == $product_property["SELECTED"]) echo '"checked"'?>><?echo $v?></label><br>
                                    <?endforeach;?>
                                <?else:?>
                                    <select name="<?echo $arParams["PRODUCT_PROPS_VARIABLE"]?>[<?echo $pid?>]">
                                        <?foreach($product_property["VALUES"] as $k => $v):?>
                                            <option value="<?echo $k?>" <?if($k == $product_property["SELECTED"]) echo '"selected"'?>><?echo $v?></option>
                                        <?endforeach;?>
                                    </select>
                                <?endif;?>
                                </td>
                            </tr>
                        <?endforeach;?>
                        </table>
                        <input type="hidden" name="<?echo $arParams["ACTION_VARIABLE"]?>" value="BUY">
                        <input type="hidden" name="<?echo $arParams["PRODUCT_ID_VARIABLE"]?>" value="<?echo $arElement["ID"]?>">
                        <input type="submit" name="<?echo $arParams["ACTION_VARIABLE"]."BUY"?>" value="<?echo GetMessage("CATALOG_BUY")?>">
                        <input type="submit" name="<?echo $arParams["ACTION_VARIABLE"]."ADD2BASKET"?>" value="<?echo GetMessage("CATALOG_ADD")?>">
                        </form>
                    <?else:?>
                        <noindex>
                        <a href="<?echo $arElement["BUY_URL"]?>" rel="nofollow"><?echo GetMessage("CATALOG_BUY")?></a>&nbsp;<a href="<?echo $arElement["ADD_URL"]?>" rel="nofollow"><?echo GetMessage("CATALOG_ADD")?></a>
                        </noindex>
                    <?endif;?>
                <?elseif((count($arResult["PRICES"]) > 0) || is_array($arElement["PRICE_MATRIX"])):?>
                    <?=GetMessage("CATALOG_NOT_AVAILABLE")?>
                <?endif?>
            <?endif?>
            &nbsp;
        </td>
 
        <?$cell++;
        if($cell%$arParams["LINE_ELEMENT_COUNT"] == 0):?>
            </tr>
        <?endif?>
 
        <?endforeach; // foreach($arResult["ITEMS"] as $arElement):?>
 
        <?if($cell%$arParams["LINE_ELEMENT_COUNT"] != 0):?>
            <?while(($cell++)%$arParams["LINE_ELEMENT_COUNT"] != 0):?>
                <td>&nbsp;</td>
            <?endwhile;?>
            </tr>
        <?endif?>
 
</table>
<?if($arParams["DISPLAY_BOTTOM_PAGER"]):?>
    <br /><?=$arResult["NAV_STRING"]?>
<?endif;?>
</div>
все бы было замечательно, но есть но
1) надо вывести в две колонки
2) пере вести выводим элементы на див что бы можно было красиво их расположить ( картинка с лева, текст и все остальное ровно и красивое выравнивается по правой стороне от картинки )


и есть другой вид шаблона построенный на списках
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<div class="name_sect"><?=$arResult["NAME"]?></div>
<div class="des_sect"><?=$arResult['DESCRIPTION']?></div>
<ul class="full_list">
<?
 
if(!$arResult["ITEMS"]) echo '';
 
else echo'<div class="sort"><strong>Сортировать по цене:</strong> <a href="?sort=price&order=ubiv">по убыв.</a>|<a href="?sort=price&order=vozvr">по возвр.</a></div>';
foreach($arResult["ITEMS"] as $cell=>$arElement) { ?>
<li>
   <a href="<?=$arElement["DETAIL_PAGE_URL"]?>" title="Подробнее"><img src="<?=$arElement["PREVIEW_PICTURE"]["SRC"]?>" alt="" width="60"; /></a>
   <div>
      <h3><a href="<?=$arElement["DETAIL_PAGE_URL"]?>" title="Подробнее"><?=$arElement["NAME"]?></a></h3>
      
              <div class="cat_inf_pric">
        <div class="text_cat">Цена: <?=$arElement["PRICES"]["BASE"]["PRINT_VALUE"]?></div>
<div class="button_div">
<? if(in_array($arElement["ID"], $arPageItems)) { ?>
        <span>Уже в корзине</span>
<? } else { ?>
         <div class="buy-button_cat"><button onclick="addToCart(this, '<?=$arElement["ADD_URL"]?>')" title="Добавить в корзину">В корзину</button></div>
<? } ?>
</div>
<div class="priv_text_list"><?=$arElement["PREVIEW_TEXT"]?></div>
      </div>   </div>
</li>
<? } ?>
</ul>
<? 
$navURL = ($_SERVER['QUERY_STRING'])? $_SERVER["REQUEST_URI"]."&":"?";
if($arResult["NAV_RESULT"]->NavPageCount > 1) {
?>
 
<div class="nab_bottom">
<? if($arResult["NAV_RESULT"]->NavPageNomer > 1) { ?>
   <a href="<?=$navURL;?>PAGEN_<?=$arResult["NAV_RESULT"]->NavNum;?>=1" title="Первая страница" >&laquo; первая</a>
   <a href="<?=$navURL;?>PAGEN_<?=$arResult["NAV_RESULT"]->NavNum;?>=<?=($arResult["NAV_RESULT"]->NavPageNomer - 1)?>" title="Предыдущая страница" >&lsaquo; Предыдущая</a>
<? } ?>
   <ul class="center_li">
<?
    for($i = 1; $i <= $arResult["NAV_RESULT"]->NavPageCount; $i++) {
           if($i == $arResult["NAV_RESULT"]->NavPageNomer) { ?>
      <li class="active"><?=$i?></li>
          <? } else { ?>
      <li><a href="<?=$navURL;?>PAGEN_<?=$arResult["NAV_RESULT"]->NavNum;?>=<?=$i?>"><?=$i?></a></li>
          <? }
 } ?>
   </ul>
<? if($arResult["NAV_RESULT"]->NavPageNomer < $arResult["NAV_RESULT"]->NavPageCount) { ?>
   <a href="<?=$navURL;?>PAGEN_<?=$arResult["NAV_RESULT"]->NavNum;?>=<?=($arResult["NAV_RESULT"]->NavPageNomer + 1)?>" title="Следующая страница" >Следующая &rsaquo;</a>
   <a href="<?=$navURL;?>PAGEN_<?=$arResult["NAV_RESULT"]->NavNum;?>=<?=$arResult["NAV_RESULT"]->NavPageCount?>" title="Последняя страница" >Последняя &raquo;</a>
<? } ?>
</div>
<? } ?>
и тут тоже не все хорошо и замечательно, вывести все это в две или больше колонок то все делается очень легко и быстро через float:left и выставляя соответственные размеры, но опять как и в прошлый раз есть то правда одно, после того как сделать списку выравнивания по левую сторону то в как див перестает растягивается.

Под прошу вас помочь мне в одном и приведенных примерах, мне главное что б задний див не терял свойства растягивания

Добавлено через 1 час 29 минут
тему можно закрыть, уже все сделал )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2012, 15:50
Ответы с готовыми решениями:

Как убрать вывод компонента catalog.section.list в компоненте catalog.section
Если нажать на первый уровень каталога рис 1 появляется весь товары этого...

Добавление фильтра к компоненту catalog.section.list: вывод количества товара добавленного за текущий месяц
Цель изменить стандартный шаблон таким образом чтоб помимо общего кол-ва...

Catalog.section вывод всех елементов из всех инфоблоков типа инфблока и из всех их подразделов
Нужно использовать именно catalog.section, и указывать несколько SECTION_ID,...

Catalog.section с заданной страницей
Добрый день. Помогите реализовать следующий функционал: Необходимо разместить...

Компонент catalog.section не отдаёт 404
Как заставить компонент отдавать 404? Например переходишь по реально...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.11.2012, 15:50

Удалил модуль catalog.section.list
Удалил данный модуль, теперь в шаблоне, через #WORK_AREA#. В самом низу...

Возможно ли подключить catalog.section.list?
Возможно ли отдельно подключить...

Шаблон META DESCRIPTION в catalog:section
Доброго времени суток! Существует инфоблок &quot;Бренды&quot;. В данном инфоблоке на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru