Задать вопрос
  • Как защитить форму от спама?

    @Evanescing
    1. Подключить капчу посложнее.
    2. Валидировать все поля формы: обязательность, тип данных, длина строки поля, кириллица ли (обычно спам латиницей валится), проверка на ссылки и стоп слова.
    3. Фиксирование айпи адресов сообщений или сессий - ограничивать интервал между сообщениями и их количество с одного девайса, адреса или сессии.
    Ответ написан
  • Почему не скачивается файл пока не перезагрузишь страницу?

    @Evanescing
    Вероятно, подвешен скрипт на классы ссылки при загрузке страницы. Сложно сказать однозначно из текущей информации.
    Ответ написан
    Комментировать
  • Как закрыть блок при клике на ссылку?

    @Evanescing
    css display: none.
    Если переход по ссылке на страницу - видимость меню - "нет" сразу. Если же без перезагрузки страницы - видимостью управляем скриптом по событию класса ссылки click.
    Можно было бы ответить конкретнее, если б были фрагменты кода или больше описания.
    Ответ написан
    Комментировать
  • Как вывести текст об ошибке когда в поле в веден текст с содержащий ошибки?

    @Evanescing
    Сложно догадаться о структуре страницы и целях вопроса, но попробую. Можно подключить плагин, удобный в использовании, который сам прорисует блоки ошибок. Например, jQuery Validation Plugin. Можно задавать текст сообщения об ошибке и параметры валидации, см. документацию к плагину.
    Вероятно, у данной формы поле вопроса должно быть required.
    Хотелось бы ещё обратить внимание, что параметр полей name лучше писать в нижнем регистре.
    Ответ написан
    Комментировать
  • Как сменить статус заказа по ссылке или кнопке?

    @Evanescing
    Конечно решение есть. Программирование: по клику кнопки или ссылки срабатывает аякс запрос и вызывается API метод изменения заказа. Примерно так https://dev.1c-bitrix.ru/learning/course/index.php...
    Ответ написан
    Комментировать
  • Почему отваливаются стили css?

    @Evanescing
    Возможно, пользователь перемещается по страницам быстро, а стили подгружаются внизу страницы. Визуально может быть незаметно при самой навигации. Поэтому, скорее веб-визор не фиксирует прорисовку.
    Ответ написан
    Комментировать
  • Как в профиль пользователя Wordpress добавить отчество после имени и фамилии?

    @Evanescing
    Штатно никак, поскольку в /wp-admin/user-edit.php эти основные поля зашиты в верстку и без возможности добавления фильтров. См. начиная со строки 443.
    Можете попробовать добавить свои хуки, но при обновлении код конечно же может удалиться.
    Также есть вариант добавить костыльный скрипт, который после отображения формы будет перерисовывать поле.
    Ответ написан
    Комментировать
  • Почему неправильно рассчитывается высота через Javascript?

    @Evanescing
    Есть ли необходимость использования скрипта для рассчета параметров блоков?
    Проблема в логике js. Высота блока = 181px, он и устанавливается как фиксированная высота.
    Попробуйте поставить в верстке блоку class="product" style="height: auto;" и сложные рассчеты не должны понадобиться.
    Ответ написан
  • Как сделать кнопку "Войти", как ссылка?

    @Evanescing
    Вариант 1: наложить на кнопку стили ссылки, перекрыть стили кнопки. Например:
    <style>
    button.like-href {
    	border: none;
        background: none;
        text-decoration: underline;
        color: #000;
        cursor: pointer;
    }
    </style>
    <a href="#" class="btn btn-blue">Купить</a>
    <button type="submit" class="btn btn-blue like-href">
    	Войти
    </button>

    Вариант 2: скрипт цеплять на ссылку вместо кнопки submit и сохранение формы вызывать в скрипте по нажатию на ссылку. ссылка при этом не должна иметь урл, а href="javascript:void(0)"
    Ответ написан
    Комментировать
  • Какой плагин выбрать для карусели с слайдами-постами(записями)?

    @Evanescing
    Можно за основу взять Bootstrap JS-компонент Carousel, он очень гибок в настройках и доработке, соответственно придётся разработать креативность по высоте и размерам блоков. Готовое решение один в один вряд ли найдёте. Вдохновение можно почерпнуть здесь https://codepen.io/collection/ABiet?cursor=ZD0wJm8...
    Из популярных скриптов ещё:
    Owl Carousel позволяет разместить разный контент в слайде, но неудобен в доработке размеров элементов.
    Slick Slider имеет настройку с разной шириной слайдов, есть плагин под Wordpress, но по вертикали нужно будет дорабатывать.
    Ответ написан
    Комментировать
  • Как разобрать строку из AJAX?

    @Evanescing
    "Фойе ДК \\"Фёдорова\\""
    В JSON.parse(data) двойные кавычки - разделитель. Используйте двойной слеш в значениях с кавычками.
    Ответ написан
    Комментировать
  • Что в этом скрипте не так?

    @Evanescing
    Как вариант, загнать ширину экрана в параметр или переменную, проверять ширину экрана в начале ресайза и в ходе, и не запускать on('click', если в обоих случаях ширина <= 960 . В ходе ресайза обновлять переменную/параметр.

    Ещё вариант добавить вспомогательный класс элементу .menu li или .menu, если ширина <= 960, и click вешать на тот класс. Проверять наличие класса, чтобы не вешать множество обработчиков click на один элемент.
    Ответ написан
  • Запустить JS после загрузки страницы из кэша?

    @Evanescing
    Как вариант, запускать функцию в ходе или сразу после прорисовки страницы, создать метку загруженности (класс или переменную). Если метка есть, повторно внутри on('pjax:complete' не выполнять код. т.е. выходит некий дубляж действий.
    Ответ написан
  • Цикл в JavaScript как правильно реализовать Chart.js?

    @Evanescing
    В первую очередь использование глобальных переменных в битрикс очень часто говорит о некорректной структуре. Передачу данных между разными страницами лучше оганизовывать запросами. Если выборка и построение графика находятся на одной странице, то можно использовать обычные переменные.
    Чтобы в массиве накапливались элементы, необходимо к переменной массива добавлять квадратные скобки [] $GLOBALS['DATE_NEW_PRICE'][]
    www.php.su/articles/?cat=vars&page=014
    Дополнительно, необходимо сконвертировать массив php в скриптовый, метод битрикс:
    var arr = <?=CUtil::PhpToJSObject($array, false, true)?>;
    Ответ написан
    3 комментария
  • Динамика цен \ Битрикс, возможно?

    @Evanescing
    Не до конца ясно каким образом должна устанавливаться цена. Её устанавливать - не проблема, есть API.
    В большинстве случаев можно подхватить событие изменения цены товара и записывать данные в созданный хайлоадблок (множественное свойство, файл и т.п.), затем строить графики по информации из этого хайлоадблока. Штатное API для построения графиков было в редакциях веб-аналитики и магазина. Также есть разные внешние библиотеки, например, google chart.
    Ответ написан
  • Как внутри компонента bitrix:catalog.section.list, вывести товары?

    @Evanescing
    Вариант 1: создать комплексный компонент (или страницу), внутри которого размещены bitrix:catalog.section.list и bitrix:catalog.section
    Вариант 2: в шаблоне bitrix:catalog.section.list разместить вызов компонента bitrix:catalog.section. Идеально, если внизу под шаблоном, тогда можно в component_epilog.php Если внутри шаблона, то передавать в вызов переменную $component и кастомный параметр для сброса кеша.
    Вариант 3: отложенные функции - тоже вариант, но смотря какая логика должна быть у товаров.
    Вариант 4: выборка товаров и дополнение результата в result_modifier.php
    Вариант 5: кастомизация компонента, если не подходят для цели задачи варианты выше.
    Ответ написан
    Комментировать
  • Кастомизация sale.order.ajax?

    @Evanescing
    C шаблоном .default в новой версии системы если толком, то это достаточно масштабная работа. Необходимо объединить блоки с данными пользователя в template.php и bx-soa-region и переписать все участки кода с блоком в скрипте order_ajax.js. Задача требует знания JS библиотеки Битрикс, а также принципов передачи данных из шаблона компонента в js объекты компонентов.
    Ответ написан
    Комментировать
  • Почему при переходе в один из разделов каталога показывает карту сайта?

    @Evanescing
    При многосайтовости необходимо выбрать в настройках инфоблока сайты, для которых инфоблок используется.
    Ответ написан
    Комментировать
  • IPS manager lite 5 или Bitrix Env?

    @Evanescing
    По опыту, Bitrix Env легче сконфигурировать на максимальную производительность сайтов на базе ихней cms.
    Ответ написан
    Комментировать
  • Каким образом в Битриксе назначать стоимость доставок при синхронизации?

    @Evanescing
    Изменение стоимости доставки заказа с созданными отгрузками:
    $shipmentCollection = $orderBx->getShipmentCollection();
    $shipment = $shipmentCollection->createItem();

    или
    $shipmentCollection = $orderBx->getShipmentCollection();
    $shipment = $shipmentCollection->createItem(
    	Delivery\Services\Manager::getObjectById($deliveryID) // ID службы доставки
    );

    Установка стоимости доставки
    $price = 123;
    $shipment->setBasePriceDelivery($price);
    Ответ написан
    Комментировать