Блин.. все сделал на примере. Помогите разобраться...
Вывожу фотоальбомы (обложки и прочее) через [B]catalog.section.list[/B]
Тут все нормально. Получается красиво (как я и хотел).
[IMG]http://i65.fastpic.ru/big/2014/0723/0d/951b700ce78a1ed6c14764c4204ce30d.png[/IMG]
А вот при Выводе через [B]news.list [/B]встретился с проблемой.
Если символьный код простой (без тире), например: Ворота (vorota) - URL: [B]сайт.ру/foto/vorota[/B] - то все нормально показывает с нужной папки ИБ.
А вот если код [B][COLOR=#ff0000]ЧЕРЕЗ ДЕФИС/ТИРЕ [/COLOR][/B]- то получается бред. Выводятся [B]все элементы из всех папок[/B] =(
Полагаю это можно исправить подправив правило в [B]urlrewrite.php[/B] - но не хватает квалификации.. Посмотрел доки, но все равное не понятно как правильно в выражение поставить условие. [I]Помогите с этим![/I]
И ещё странная вещь. Нет защиты от дурака. Если написать любой несуществующий код, например: [B]сайт.ру/foto/leviykod [/B],то так же выводятся [B][COLOR=#ff0000]ВСЕ ЭЛЕМЕНТЫ[/COLOR][/B] всех папок...[B] А нужно выдавать 404[/B] =(
[I][COLOR=#0000ff]1. Помогите пожалуйста советом. Что подправить.. Чтобы выводилось содержимое папки [B]foto/stroitelstvo-domov [/B]нормально, а не все элементы со всех папок.. [/COLOR]Стараюсь разобраться сам, не хватает пару советов нормальных.[/I]
2. Подскажите внятно, для новичков, что делает конструкция: [B]"ELEMENT_ID" => $_GET["photo"][/B]
3. Подскажите внятно, для новичков, что делает конструкция: [B] "FILTER_NAME" => "galleryFilter"[/B]
P.S. Заранее большое спасибо за советы и понимание!
Содержимое [B]сайт.ру/foto/index.php[/B]
[CODE]<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetPageProperty("title", "Фотогалерея");
$APPLICATION->SetTitle("Фото");
?>
<?if (!isset($_GET["album"]) && !isset($_GET["photo"])):?>
<?$APPLICATION->IncludeComponent(
"bitrix:catalog.section.list",
"phototree",
array(
"IBLOCK_TYPE" => "photos",
"IBLOCK_ID" => "2",
"SECTION_ID" => "",
"SECTION_CODE" => "",
"COUNT_ELEMENTS" => "Y",
"TOP_DEPTH" => "2",
"SECTION_FIELDS" => array(
0 => "NAME",
1 => "PICTURE",
2 => "",
),
"SECTION_USER_FIELDS" => array(
0 => "",
1 => "",
),
"VIEW_MODE" => "LIST",
"SHOW_PARENT_NAME" => "Y",
"SECTION_URL" => "",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "36000000",
"CACHE_GROUPS" => "Y",
"ADD_SECTIONS_CHAIN" => "Y"
),
false
);?>
<?endif?>
<?if (isset($_GET["album"]) && !isset($_GET["photo"])):?>
<?$APPLICATION->IncludeComponent(
"bitrix:news.list",
"fotki",
array(
"IBLOCK_TYPE" => "photos",
"IBLOCK_ID" => "2",
"NEWS_COUNT" => "20",
"SORT_BY1" => "SORT",
"SORT_ORDER1" => "DESC",
"SORT_BY2" => "TIMESTAMP_X",
"SORT_ORDER2" => "ASC",
"FILTER_NAME" => "galleryFilter",
"FIELD_CODE" => array(
0 => "DETAIL_PICTURE",
1 => "",
),
"PROPERTY_CODE" => array(
0 => "category",
1 => "",
),
"CHECK_DATES" => "Y",
"DETAIL_URL" => "",
"AJAX_MODE" => "N",
"AJAX_OPTION_SHADOW" => "Y",
"AJAX_OPTION_JUMP" => "N",
"AJAX_OPTION_STYLE" => "Y",
"AJAX_OPTION_HISTORY" => "N",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "3600",
"CACHE_FILTER" => "N",
"CACHE_GROUPS" => "Y",
"PREVIEW_TRUNCATE_LEN" => "",
"ACTIVE_DATE_FORMAT" => "d.m.Y",
"SET_TITLE" => "N",
"SET_STATUS_404" => "N",
"INCLUDE_IBLOCK_INTO_CHAIN" => "N",
"ADD_SECTIONS_CHAIN" => "Y",
"HIDE_LINK_WHEN_NO_DETAIL" => "N",
"PARENT_SECTION" => "",
"PARENT_SECTION_CODE" => $_GET["album"],
"DISPLAY_TOP_PAGER" => "N",
"DISPLAY_BOTTOM_PAGER" => "Y",
"PAGER_TITLE" => "Фотографии",
"PAGER_SHOW_ALWAYS" => "N",
"PAGER_TEMPLATE" => "custom",
"PAGER_DESC_NUMBERING" => "N",
"PAGER_DESC_NUMBERING_CACHE_TIME" => "36000",
"PAGER_SHOW_ALL" => "Y",
"DISPLAY_DATE" => "Y",
"DISPLAY_NAME" => "Y",
"DISPLAY_PICTURE" => "Y",
"DISPLAY_PREVIEW_TEXT" => "Y",
"AJAX_OPTION_ADDITIONAL" => "",
"SET_BROWSER_TITLE" => "Y",
"SET_META_KEYWORDS" => "Y",
"SET_META_DESCRIPTION" => "Y",
"INCLUDE_SUBSECTIONS" => "Y"
),
false
);?>
<?endif?>
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>
[/CODE]Содержимое [B]news.list (fotki)[/B]:
[CODE]<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<div class="row">
<ul class="portfolio-list" data-sort-id="portfolio">
<?foreach($arResult["ITEMS"] as $arItem):?>
<?foreach($arItem["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?>
<li class="col-md-3 <?=$arProperty["VALUE_XML_ID"];?>">
<div class="portfolio-item">
<a href="<?=$arItem["DETAIL_PICTURE"]["SRC"]?>" class="thumb-i" title="<?=$arItem["NAME"]?>">
<img alt="<?=$arItem["NAME"]?>" class="img-res" src="<?=$arItem["DETAIL_PICTURE"]["SRC"]?>">
<span class="thumb">
<span class="thumb new"><?=$arItem["NAME"]?></span>
<span class="thumbl"><?=$arProperty["DISPLAY_VALUE"];?></span>
</span>
</a>
</div>
</li>
<?endforeach;?>
<?endforeach;?>
</ul>
</div>
[/CODE]Содержимое urlrewrite.php
[CODE]<?
$arUrlRewrite = array(
array(
"CONDITION" => "#^/foto/([0-9,a-z,-,_]+)/([0-9,a-z,-,_]+)#",
"RULE" => "album=$1&photo=$2&misc=$3",
"ID" => "",
"PATH" => "/foto/index.php",
),
array(
"CONDITION" => "#^/foto/([0-9,a-z,-,_]+)#",
"RULE" => "album=$1&misc=$2",
"ID" => "",
"PATH" => "/foto/index.php",
),
);
?>
[/CODE]
Вывожу фотоальбомы (обложки и прочее) через [B]catalog.section.list[/B]
Тут все нормально. Получается красиво (как я и хотел).
[IMG]http://i65.fastpic.ru/big/2014/0723/0d/951b700ce78a1ed6c14764c4204ce30d.png[/IMG]
А вот при Выводе через [B]news.list [/B]встретился с проблемой.
Если символьный код простой (без тире), например: Ворота (vorota) - URL: [B]сайт.ру/foto/vorota[/B] - то все нормально показывает с нужной папки ИБ.
А вот если код [B][COLOR=#ff0000]ЧЕРЕЗ ДЕФИС/ТИРЕ [/COLOR][/B]- то получается бред. Выводятся [B]все элементы из всех папок[/B] =(
Полагаю это можно исправить подправив правило в [B]urlrewrite.php[/B] - но не хватает квалификации.. Посмотрел доки, но все равное не понятно как правильно в выражение поставить условие. [I]Помогите с этим![/I]
И ещё странная вещь. Нет защиты от дурака. Если написать любой несуществующий код, например: [B]сайт.ру/foto/leviykod [/B],то так же выводятся [B][COLOR=#ff0000]ВСЕ ЭЛЕМЕНТЫ[/COLOR][/B] всех папок...[B] А нужно выдавать 404[/B] =(
[I][COLOR=#0000ff]1. Помогите пожалуйста советом. Что подправить.. Чтобы выводилось содержимое папки [B]foto/stroitelstvo-domov [/B]нормально, а не все элементы со всех папок.. [/COLOR]Стараюсь разобраться сам, не хватает пару советов нормальных.[/I]
2. Подскажите внятно, для новичков, что делает конструкция: [B]"ELEMENT_ID" => $_GET["photo"][/B]
3. Подскажите внятно, для новичков, что делает конструкция: [B] "FILTER_NAME" => "galleryFilter"[/B]
P.S. Заранее большое спасибо за советы и понимание!
Содержимое [B]сайт.ру/foto/index.php[/B]
[CODE]<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetPageProperty("title", "Фотогалерея");
$APPLICATION->SetTitle("Фото");
?>
<?if (!isset($_GET["album"]) && !isset($_GET["photo"])):?>
<?$APPLICATION->IncludeComponent(
"bitrix:catalog.section.list",
"phototree",
array(
"IBLOCK_TYPE" => "photos",
"IBLOCK_ID" => "2",
"SECTION_ID" => "",
"SECTION_CODE" => "",
"COUNT_ELEMENTS" => "Y",
"TOP_DEPTH" => "2",
"SECTION_FIELDS" => array(
0 => "NAME",
1 => "PICTURE",
2 => "",
),
"SECTION_USER_FIELDS" => array(
0 => "",
1 => "",
),
"VIEW_MODE" => "LIST",
"SHOW_PARENT_NAME" => "Y",
"SECTION_URL" => "",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "36000000",
"CACHE_GROUPS" => "Y",
"ADD_SECTIONS_CHAIN" => "Y"
),
false
);?>
<?endif?>
<?if (isset($_GET["album"]) && !isset($_GET["photo"])):?>
<?$APPLICATION->IncludeComponent(
"bitrix:news.list",
"fotki",
array(
"IBLOCK_TYPE" => "photos",
"IBLOCK_ID" => "2",
"NEWS_COUNT" => "20",
"SORT_BY1" => "SORT",
"SORT_ORDER1" => "DESC",
"SORT_BY2" => "TIMESTAMP_X",
"SORT_ORDER2" => "ASC",
"FILTER_NAME" => "galleryFilter",
"FIELD_CODE" => array(
0 => "DETAIL_PICTURE",
1 => "",
),
"PROPERTY_CODE" => array(
0 => "category",
1 => "",
),
"CHECK_DATES" => "Y",
"DETAIL_URL" => "",
"AJAX_MODE" => "N",
"AJAX_OPTION_SHADOW" => "Y",
"AJAX_OPTION_JUMP" => "N",
"AJAX_OPTION_STYLE" => "Y",
"AJAX_OPTION_HISTORY" => "N",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "3600",
"CACHE_FILTER" => "N",
"CACHE_GROUPS" => "Y",
"PREVIEW_TRUNCATE_LEN" => "",
"ACTIVE_DATE_FORMAT" => "d.m.Y",
"SET_TITLE" => "N",
"SET_STATUS_404" => "N",
"INCLUDE_IBLOCK_INTO_CHAIN" => "N",
"ADD_SECTIONS_CHAIN" => "Y",
"HIDE_LINK_WHEN_NO_DETAIL" => "N",
"PARENT_SECTION" => "",
"PARENT_SECTION_CODE" => $_GET["album"],
"DISPLAY_TOP_PAGER" => "N",
"DISPLAY_BOTTOM_PAGER" => "Y",
"PAGER_TITLE" => "Фотографии",
"PAGER_SHOW_ALWAYS" => "N",
"PAGER_TEMPLATE" => "custom",
"PAGER_DESC_NUMBERING" => "N",
"PAGER_DESC_NUMBERING_CACHE_TIME" => "36000",
"PAGER_SHOW_ALL" => "Y",
"DISPLAY_DATE" => "Y",
"DISPLAY_NAME" => "Y",
"DISPLAY_PICTURE" => "Y",
"DISPLAY_PREVIEW_TEXT" => "Y",
"AJAX_OPTION_ADDITIONAL" => "",
"SET_BROWSER_TITLE" => "Y",
"SET_META_KEYWORDS" => "Y",
"SET_META_DESCRIPTION" => "Y",
"INCLUDE_SUBSECTIONS" => "Y"
),
false
);?>
<?endif?>
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>
[/CODE]Содержимое [B]news.list (fotki)[/B]:
[CODE]<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<div class="row">
<ul class="portfolio-list" data-sort-id="portfolio">
<?foreach($arResult["ITEMS"] as $arItem):?>
<?foreach($arItem["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?>
<li class="col-md-3 <?=$arProperty["VALUE_XML_ID"];?>">
<div class="portfolio-item">
<a href="<?=$arItem["DETAIL_PICTURE"]["SRC"]?>" class="thumb-i" title="<?=$arItem["NAME"]?>">
<img alt="<?=$arItem["NAME"]?>" class="img-res" src="<?=$arItem["DETAIL_PICTURE"]["SRC"]?>">
<span class="thumb">
<span class="thumb new"><?=$arItem["NAME"]?></span>
<span class="thumbl"><?=$arProperty["DISPLAY_VALUE"];?></span>
</span>
</a>
</div>
</li>
<?endforeach;?>
<?endforeach;?>
</ul>
</div>
[/CODE]Содержимое urlrewrite.php
[CODE]<?
$arUrlRewrite = array(
array(
"CONDITION" => "#^/foto/([0-9,a-z,-,_]+)/([0-9,a-z,-,_]+)#",
"RULE" => "album=$1&photo=$2&misc=$3",
"ID" => "",
"PATH" => "/foto/index.php",
),
array(
"CONDITION" => "#^/foto/([0-9,a-z,-,_]+)#",
"RULE" => "album=$1&misc=$2",
"ID" => "",
"PATH" => "/foto/index.php",
),
);
?>
[/CODE]