Битрикс проблемы и решения походу создания сайтов
Я впервые столкнулся с битриксом. Уж я точно не блогер и красиво писать не умею, но в силу потраченного времени хочу написать кое какие вещи по битриксу. Пишу о проблемах и их решениях с которыми я столкнулся. Наверное пишу больше для себя на будущее.
Проблема: В категориях выводятся товары
Решение: в настройках компонента убрать галочку - выводить топ элементов
Проблема: Не работает кнопка сравнение
Решение: Перейти в редактирование компонента каталог - Управление адресами страниц - Таблица сравнения: - стереть все и написать в поле без кавычек "compare/"
Проблема: В списке категорий catalog.section.list - вывести описание категории
Решение: Вставить <? echo $arSection["DESCRIPTION"];?>
Проблема: При ручной установке компонентов в маке не копируются файлы с точкой впереди
Решение: Через виндоус копировать компонент на сайт, либо отобразить скрытые файлы
Проблема: в списке товаров вывести краткое описание
Решение: <?php echo $arItem["PREVIEW_TEXT"] ?>
Задача: В popup окошке списка сравнения необходимо вывести фотографии
Решение: catalog.compare.list - template.php находим код
после него и перед строкой
вставляем:
Получить название раздела:
<?echo $arResult["SECTION"]["PATH"][0]["NAME"]?>
Назад в каталог:
Ресайз изображений:
И не забудьте переменную в вызов компонента въебать - $templateName (вон она внизу в примере):
Стили для кнопок:
.select_display {
position: absolute;
top: 6px;
right: 0px;
width: 160px;
}
.select_display input[type="button"],
.select_display input[type="submit"],
.select_display input[type="reset"],
.select_display input[type="file"]::-webkit-file-upload-button,
.select_display button {
color: #ffffff;
padding: 0;
background: #138ac2;
position: relative;
top: -5px;
margin-right: 5px;
cursor: pointer;
}
.select_display input{
-moz-appearance: none!important;
color: #ffffff;
background: #138ac2!important;
padding: 0;
cursor: pointer;
position: relative;
top: -5px;
}
.select_display input:hover[type="submit"]{
color: #d1d1d1;
}
.select_display input[type="submit"]:disabled {
padding: 0;
background: #138ac2;
}
.select_display .list_normal {
padding: 1px 3px 1px 12px;
float: left;
color: #ffffff;
height: 7px;
background: #138ac2 url(../img/select_display_list.png) no-repeat bottom left;
}
.select_display .list_active {
padding: 1px 3px 1px 12px;
float: left;
height: 7px;
background: #138ac2 url(../img/select_display_list.png) no-repeat top left;
}
.select_display .list_active input[type="submit"],.select_display .galery_active input[type="submit"] {
color: #3d3d3d;
cursor: default;
}
.select_display .galery_normal {
padding: 1px 3px 1px 12px;
float: left;
color: #ffffff;
height: 7px;
background: #138ac2 url(../img/select_display_galery.png) no-repeat bottom left;
}
.select_display .galery_active {
padding: 1px 3px 1px 12px;
float: left;
height: 7px;
background: #138ac2 url(../img/select_display_galery.png) no-repeat top left;
}
"fileman_medialib_access.php"
"fileman_medialib_admin.php"
"fileman_medialib_upload.php"
Проблема: В категориях выводятся товары
Решение: в настройках компонента убрать галочку - выводить топ элементов
Проблема: Не работает кнопка сравнение
Решение: Перейти в редактирование компонента каталог - Управление адресами страниц - Таблица сравнения: - стереть все и написать в поле без кавычек "compare/"
Проблема: В списке категорий catalog.section.list - вывести описание категории
Решение: Вставить <? echo $arSection["DESCRIPTION"];?>
Проблема: При ручной установке компонентов в маке не копируются файлы с точкой впереди
Решение: Через виндоус копировать компонент на сайт, либо отобразить скрытые файлы
Проблема: в списке товаров вывести краткое описание
Решение: <?php echo $arItem["PREVIEW_TEXT"] ?>
Задача: В popup окошке списка сравнения необходимо вывести фотографии
Решение: catalog.compare.list - template.php находим код
<table id="<? echo $idCompareTable; ?>" class="compare-items"> <thead><tr><td align="center" colspan="2"><?=GetMessage("CATALOG_COMPARE_ELEMENTS")?></td></tr></thead> <tbody><? foreach($arResult as $arElement) { ?><tr id="<? echo $idCompareRow.$arElement['PARENT_ID']; ?>">
после него и перед строкой
<td><a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><?=$arElement["NAME"]?></a></td>
вставляем:
<td><? $res = CIBlockElement::GetByID($arElement["PARENT_ID"]); if($ar_res = $res->GetNext()){ $im = CFile::ShowImage($ar_res["PREVIEW_PICTURE"], 0, 0, "border=0", "", true);} ?> <?=$im?></td>В итоге получится
<table id="<? echo $idCompareTable; ?>" class="compare-items"> <thead><tr><td align="center" colspan="2"><?=GetMessage("CATALOG_COMPARE_ELEMENTS")?></td></tr></thead> <tbody><? foreach($arResult as $arElement) { ?><tr id="<? echo $idCompareRow.$arElement['PARENT_ID']; ?>"> <td><? $res = CIBlockElement::GetByID($arElement["PARENT_ID"]); if($ar_res = $res->GetNext()){ $im = CFile::ShowImage($ar_res["PREVIEW_PICTURE"], 0, 0, "border=0", "", true);} ?> <?=$im?></td> <td><a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><?=$arElement["NAME"]?></a></td> <td><noindex><a href="javascript:void(0);" data-id="<? echo $arElement['PARENT_ID']; ?>" rel="nofollow" title="<?=GetMessage("CATALOG_DELETE")?>"><i class="fa fa-times fa-2"></i></a></noindex></td> </tr><? } ?></tbody> </table>
Назад в каталог:
<a href="<? echo "/"."katalog-proektov"."/". $arResult["SECTION"]["CODE"]; ?>"><? echo GetMessage('CATALOG_NAZAD'); ?></a>
Ресайз изображений:
<?foreach ($arItem["PREVIEW_PICTURE"] as $files) {?> <?$arFile = CFile::GetFileArray($files);?> <?if( $arFile) {?> <? $filess = CFile::ResizeImageGet($files, array('width' => 640, 'height' => 450), BX_RESIZE_IMAGE_EXACT, true); $imgg = '<img src="' . $filess['src'] . '" width="' . $filess['width'] . '" height="' . $filess['height'] . '" />';?> <a href = "<?=$arFile["SRC"]?>" data - title = "<?=$arFile["ORIGINAL_NAME"]?>" ><?echo $imgg;?></a > <?}?><?}?>
Переключатель список/плитка:
<!--Perekluchatel spisok plitka--> <?/* переключение шаблонов оформление */?><?/* 1) Сначала считываем из cookie сайта параметр view каталога товаров, который отвечает за выбор шаблона. Если пустые, то ставим шаблон по умолчанию.*/?> <?$templateName = $APPLICATION->get_cookie('view')?$APPLICATION->get_cookie("view"):"big";?> <?/*big - это название папки с шаблоном - который по умолчанию: bitrix/имя шаблона/components/bitrix/catalog/имя каталога/bitrix/catalog.section/... */?> <div class="select_display"> <? if(isset($_POST["b1"])) { $templateName = "big"; $APPLICATION->set_cookie("view", $templateName); } if(isset($_POST["b2"])) { $templateName = "polosa"; $APPLICATION->set_cookie("view", $templateName); } if ($templateName != "polosa" ) { $class_select_display_list ="active"; $class_select_display_galery ="normal"; } else { $class_select_display_list ="normal"; $class_select_display_galery ="active"; } ?> <form action="" method="POST" style="display: none"> <div class="list_<?echo $class_select_display_list;?>"> <input type="submit" name="b1" value="Список" <? if(isset($_POST["b1"])) echo "disabled"; ?>/> </div> <div class="galery_<?echo $class_select_display_galery;?>"> <input type="submit" name="b2" value="Галерея" <? if(isset($_POST["b2"])) echo "disabled"; ?>/> </div> </form> </div> <!--Perekluchatel spisok plitka-->
И не забудьте переменную в вызов компонента въебать - $templateName (вон она внизу в примере):
<?$intSectionID = $APPLICATION->IncludeComponent( "bitrix:catalog.section", $templateName,
Стили для кнопок:
CSS оформление
.select_display {
}
.select_display input[type="button"],
.select_display input[type="submit"],
.select_display input[type="reset"],
.select_display input[type="file"]::-webkit-file-upload-button,
.select_display button {
}
.select_display input{
}
.select_display input:hover[type="submit"]{
}
.select_display input[type="submit"]:disabled {
}
.select_display .list_normal {
}
.select_display .list_active {
}
.select_display .list_active input[type="submit"],.select_display .galery_active input[type="submit"] {
}
.select_display .galery_normal {
}
.select_display .galery_active {
}
как открыть доступ к медиабиблиотеки для группы пользователей(не админов)?
Делаем сначала все отсюда
http://dev.1c-bitrix.ru/support/forum/forum6/topic34503/
Потом Изменение прав доступа на файлы в папке: bitrix/admin
"fileman_medialib.php""fileman_medialib_access.php"
"fileman_medialib_admin.php"
"fileman_medialib_upload.php"
Для зарегистрированных пользователей режим чтения
Вывести автора статьи
Автор статьи: <span><? $name = trim($USER->GetFullName()); if (strlen($name) <= 0) $name = $USER->GetLogin(); echo htmlspecialcharsEx($name); ?></span>
Комментарии
Отправить комментарий