• Как сделать на сайте горизонтальное верхнее меню на основании значений свойств товара информационного блока?

    @IgorRastarov
    Вы можете сделать обычное меню, в параметрах которого указать USE_EXT => "Y". создать файл .menu_ext.php
    В нем делать вывод того, что Вам надо
    <?
    if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
    global $APPLICATION;
    $aMenuLinksExt = array();
    if(CModule::IncludeModule('iblock')) {
    	$arSelect = Array("ID", "NAME", "PROPERTY_*"); 
    	$arFilter = Array("IBLOCK_ID"=>ID вашего инфо, "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y");
    	$res = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect);
    	while($ob = $res->GetNextElement()) {
    		$arFields = $ob->GetFields();
    		$aMenuLinksExt[] = Array(
    			$arFields["PROPERTY_"],
    			Array(),
    			Array(),
    			""
    		);
    	}
    }
    $aMenuLinks = array_merge($aMenuLinks, $aMenuLinksExt);
    ?>

    Ну это я быстренько набросал, как вариант.
    Ответ написан
    Комментировать
  • Как с помощью jQuery или JS записать значение в value?

    @IgorRastarov
    А у Вас форма статична? Просто на странице отображается или она сделана как всплывающее окно?
    Если она как всплывающее окно, то Вы можете на кнопку, которая отвечает за открытие этой формы прикрутить функцию. Например, так,
    <button onclick='test(<?=$arResult["ID"]?>)'></button> - это Ваша кнопка

    А это функция, которую Вам надо прописать в файле, где прописаны все скрипты.
    function test(id){
    	$("input[name=element]").val(id);
    }
    Ответ написан
    Комментировать
  • Почему может не работать jQuery в Firefox?

    @IgorRastarov
    Самый просто вариант в данном случае самому помочь jQuery найти Ваш Input. А еще FF ругается на слово null. У меня работает вот такой вариант
    jQuery(document).ready(function() {
    if (jQuery.cookie('less') != "Y" ){  //убираем Null здесь
            jQuery.cookie('less,'Y', {
                path: '/',
            });		
      jQuery.fancybox.open({ 
        padding : [0, 0, 50, 0],
          helpers: {
            overlay: {
              locked: false
            }
          },
          wrapCSS : "read--less",
          href: "#read--less"
      });
    }
    
    jQuery('.popul_button').click(function () {
    jQuery(this).find('input').prop('checked', true); //нашли верный input И работаем
    jQuery(this).parents('form').submit();
        });
    Ответ написан
  • Как вывести свойство через GetListв битркис?

    @IgorRastarov Автор вопроса
    В общем, сделал вот так в modifire
    $arSelect = array(
    	'PROPERTY_MORE_PHOTO',
    	'PREVIEW_PICTURE',
    	'DETAIL_PICTURE',
    	);
    
        foreach ($arResult["SECTIONS"] as &$arSection) {
            $rsPhotoElements = CIBlockElement::GetList(array("SORT" => "ASC", "NAME" => "ASC"), 
    array("IBLOCK_ID" => $arParams["IBLOCK_ID"], "SECTION_ID" => $arSection["ID"], "ACTIVE" => "Y"),
     false, 
    false,
     $arSelect);
            $i = 4;
            while ($i && $arElement = $rsPhotoElements->GetNext()) {
                $photo = CFile::ResizeImageGet($arElement["DETAIL_PICTURE"],
     array('width'=>200, 'height'=>180), BX_RESIZE_IMAGE_PROPORTIONAL);
                $arElement["PREVIEW_PICTURE"] = $photo['src'];
                $arElement["DETAIL_PICTURE"] = CFile::GetFileArray($arElement["DETAIL_PICTURE"]);
    			$arElement["PROPERTY_MORE_PHOTO"] = CFile::GetFileArray($arElement["PROPERTY_MORE_PHOTO"]);
                $arSection["ELEMENTS"][] = $arElement;
                $i--;
            }
        }


    А в template
    <div class = "fancybox_slider" id = "slider_gallery">
    <?foreach ($arResult["SECTIONS"] as $arSection) {?>
                <?foreach ($arSection["ELEMENTS"] as $arItem) {?>
    			<?=$arItem["PROPERTY_MORE_PHOTO"]?>
                <?}?>
    <?}?>			
    </div>


    картинки не выводятся. Что делать, не знаю(
    Ответ написан
    Комментировать