• Переход к следующему/предыдущему товару?

    Это нужно вставить в result_modifier.php
    <?
    // сортировку берем из параметров компонента
    $arSort = array(
          $arParams["SORT_BY1"]=>$arParams["SORT_ORDER1"],
          $arParams["SORT_BY2"]=>$arParams["SORT_ORDER2"],
       );
    // выбрать нужно id элемента, его имя и ссылку. Можно добавить любые другие поля, например PREVIEW_PICTURE или PREVIEW_TEXT
    $arSelect = array(
          "ID",
          "NAME",
          "DETAIL_PAGE_URL"
       );
    // выбираем активные элементы из нужного инфоблока. Раскомментировав строку можно ограничить секцией
    $arFilter = array (
          "IBLOCK_ID" => $arResult["IBLOCK_ID"],
          //"SECTION_CODE" => $arParams["SECTION_CODE"],
          "ACTIVE" => "Y",
          "CHECK_PERMISSIONS" => "Y",
       );
    // выбирать будем по 1 соседу с каждой стороны от текущего
    $arNavParams = array(
          "nPageSize" => 1,
          "nElementID" => $arResult["ID"],
       );
    $arItems = Array();
    $rsElement = CIBlockElement::GetList($arSort, $arFilter, false, $arNavParams, $arSelect);
    $rsElement->SetUrlTemplates($arParams["DETAIL_URL"]);
    while($obElement = $rsElement->GetNextElement())
          $arItems[] = $obElement->GetFields();
    // возвращается от 1го до 3х элементов в зависимости от наличия соседей, обрабатываем эту ситуацию      
    if(count($arItems)==3):
       $arResult["TORIGHT"] = Array("NAME"=>$arItems[0]["NAME"], "URL"=>$arItems[0]["DETAIL_PAGE_URL"]);
       $arResult["TOLEFT"] = Array("NAME"=>$arItems[2]["NAME"], "URL"=>$arItems[2]["DETAIL_PAGE_URL"]);
    elseif(count($arItems)==2):
       if($arItems[0]["ID"]!=$arResult["ID"])
          $arResult["TORIGHT"] = Array("NAME"=>$arItems[0]["NAME"], "URL"=>$arItems[0]["DETAIL_PAGE_URL"]);
       else
          $arResult["TOLEFT"] = Array("NAME"=>$arItems[1]["NAME"], "URL"=>$arItems[1]["DETAIL_PAGE_URL"]);
    endif;
    // в $arResult["TORIGHT"] и $arResult["TOLEFT"] лежат массивы с информацией о соседних элементах
    ?>


    А это в шаблон элемента
    <?if(is_array($arResult["TOLEFT"])):?><a class="fleft" id="previous_page" href="<?=$arResult["TOLEFT"]["URL"]?>">&larr;&nbsp;<?=$arResult["TOLEFT"]["NAME"]?></a><?endif?>
    <?if(is_array($arResult["TORIGHT"])):?><a class="fright" id="next_page" href="<?=$arResult["TORIGHT"]["URL"]?>"><?=$arResult["TORIGHT"]["NAME"]?>&nbsp;&rarr;</a><?endif?>
    Ответ написан
    Комментировать
  • Как в плагине получить имя текущего шаблона?

    $app = JFactory::getApplication();
    $template = $app->getTemplate(true);
    echo $template->template;
    Ответ написан
    Комментировать
  • Заполнить одновременно два input (подставить во второй)?

    <input placeholder="Адрес эл. почты" type="email" id="jform_email1">
    <input placeholder="Повтор эл. почты" type="email" id="jform_email2">


    jQuery(document).ready(function() {
        function autoPrint(val1,val2) {
            jQuery(val2).parent().hide();
            jQuery(val1).keyup(function (event) {// когда пользователь отпускает клавишу клавиатуры
                var input1 = jQuery(this).val();
                jQuery(val2).val(input1);
            }).keypress(function (event) {// когда пользователь нажимает клавишу клавиатуры и удерживает её в нажатом состоянии
                var input1 = jQuery(this).val();
                jQuery(val2).val(input1);
            }).change(function (event) {// когда поле теряет фокус
                var input1 = jQuery(this).val();
                jQuery(val2).val(input1);
            });
        }
        autoPrint('#jform_email1','#jform_email2');
    });
    Ответ написан
    Комментировать
  • Как поставить многоточие в конце блока с текстом без использование js??

    Для нескольких строк тоже все просто, пример для двух строк:
    ... {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    }
    Ответ написан
    Комментировать