• Как сбросить кеш из скрипта в 1с-битрикс?

    @Aricus Автор вопроса
    Если кому интересно, сработали эти два метода:
    if (method_exists('\CIBlock', 'clearIblockTagCache')) {
    	\CIBlock::clearIblockTagCache(1); // Где 1 - id инфоблока
    } else {
    	BXClearCache(true);
    }
    Ответ написан
    Комментировать
  • Как можно сделать генерацию колантитула внизу страницы договора html?

    @Aricus
    Предлагаю не заниматься фигнёй, вроде создание полноценного документа для печати в html, а создавать документ .doc , с помощью php. Соответствующие библиотеки существуют, но я с ними практически не работал, так что конкретных рекомендаций дать не могу.
    Ответ написан
    Комментировать
  • Как добавить поле оценивания ко множественному выбору?

    @Aricus
    Нужно переделать список навыков, где они появляются после выбора. Каждый с новой строки. Тогда можно добавить не только удаление и выбор оценки, но и ещё какие угодно параметры.
    Ответ написан
    Комментировать
  • Как установить заголовок на странице детального просмотра элемента католога в 1С-Битрикс?

    @Aricus Автор вопроса
    Если кому интересно, я справился с задачей так:
    В header.php изменил вывод заголовка:
    <h1 class="landing-block-node-title u-heading-v2__title g-line-height-1_3 g-font-weight-700 g-mb-minus-10 g-color-black g-font-size-32 g-text-transform-none">
    	<? $APPLICATION->ShowViewContent('myPageTitle'); ?>
    </h1>

    , а в footer.php задавал эту буферизуемую переменную так:
    if (mb_strlen($GLOBALS['myPageTitle'])>1) {
    	$APPLICATION->AddViewContent('myPageTitle', $GLOBALS['myPageTitle']);
    } else {
    	$APPLICATION->AddViewContent('myPageTitle', $APPLICATION->GetTitle());
    }

    Только теперь и в других местах, где компоненты переопределяют заголовок, приходится задавать $GLOBALS['myPageTitle'] в шаблоне. Ну или задать дополнительные условия по путям в footer. Если вы знаете способ получше, напишите.
    Ответ написан
    Комментировать
  • Как правильно реализовать файловую структуру сайта с большим количеством разделов?

    @Aricus
    В целом, выглядит более-менее нормально. Но для упрощения лучше, когда есть раздел и главная страница в нём, вместо grades/first.html делать grades/first/index.html. А ещё лучше делать подобные сайты на какой-нибудь CMS вроде wordpress, чтобы не делать все эти страницы вручную, и не париться о таких вещах, как файловая структура.
    Ответ написан
    Комментировать
  • Как реализовать на html & css блок такого типа?

    @Aricus
    Я тут вижу два блока, один в другом. Оба с чёрными границами. Внутренний блок центрирован по вертикали относительно внешнего. Фон у внешнего
    background-size: cover;
    background-position: center center;

    , а у внутреннего -
    background-size: auto 100%;
    background-repeat: repeat-x;
    background-position: center center;
    Ответ написан
    2 комментария
  • При уменьшении ширины экрана задний фон скатываться в левый край как исправить?

    @Aricus
    Я в codepen попробовал: тоже не скатывается. Видимо, дело или в окружающем коде, или в браузере. В любом случае, чтобы найти ошибку, её нужно локализовать. Убирайте разные части кода, пока ошибка не исчезнет. И действительно ли правильно about_my_container внутри about_my_container, или вы случайно продублировали?
    Ответ написан
  • Длинное мобильное бургер-меню конфликтует со стики-хедером, как подружить их?

    @Aricus
    Ограничить блок бургер-меню высотой браузера - высота меню, и добавить ему полосу прокрутки overflow: auto. Ну или вынести этот блок за пределы header.
    Ответ написан
    Комментировать
  • Вывод двух заголовков на одной странице?

    @Aricus
    Если заголовки разные, то второй заголовок должен браться не из the_title( ); , а откуда-то ещё. То есть вы можете или добавить его напрямую в контенте страницы, или подставить в теме сайта оттуда, откуда нужно.
    Ответ написан
  • Не выводит изображение плагин ACF?

    @Aricus
    <?php $acf_slid = get_sub_field( 'acf_slid' ); ?>

    Может, "acf_slide", а вся ошибка в том, что вы в названии ошиблись?
    У меня работает так:
    $thisImg = get_field('post-img', $id);
    echo '<img src="'.$thisImg['url'].'" alt="'.$thisImg['alt'].'">';

    А в комментариях правильно предложили. Посмотрите, что выведет:
    var_dump($acf_slid);
    Ответ написан
  • Как адаптировать меню с шаблона под wordpress?

    @Aricus
    Да, меню в wordpress - это жесть. Приведу пример своего меню. Должно подсказать некоторые неочевидные вещи.
    Это в header.php:
    <?php wp_nav_menu( array(
    	'sort_column' => 'menu_order',
    	'theme_location' => 'primary-menu',
    	'container' => false,
    	'menu_class' => 'navigation_menu',
    	'walker' => new My_Walker_Nav_Menu()
    ) ); ?>

    А это в functions.php:
    // Главное меню
    class My_Walker_Nav_Menu extends Walker_Nav_Menu {
      function start_lvl(&$output, $depth = 1, $args = Array()) {
        $indent = str_repeat("\t", $depth);
        $output .= "\n$indent<ul class=\"navigation_submenu-".$depth."\">\n";
      }
    	public function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
    		if ( isset( $args->item_spacing ) && 'discard' === $args->item_spacing ) {
    			$t = '';
    			$n = '';
    		} else {
    			$t = "\t";
    			$n = "\n";
    		}
    		$indent = ( $depth ) ? str_repeat( $t, $depth ) : '';
    
    		$classes = empty( $item->classes ) ? array() : (array) $item->classes;
    		$classes[] = 'menu-item-' . $item->ID;
    
    		$args = apply_filters( 'nav_menu_item_args', $args, $item, $depth );
    
    		$class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args, $depth ) );
    		$class_names = $class_names ? ' class="' . esc_attr( $class_names ) . '"' : '';
    
    		$id = apply_filters( 'nav_menu_item_id', 'menu-item-'. $item->ID, $item, $args, $depth );
    		$id = $id ? ' id="' . esc_attr( $id ) . '"' : '';
    
    		$output .= $indent . '<li' . $id . $class_names .'>';
    
    		$atts = array();
    		$atts['title']  = ! empty( $item->attr_title ) ? $item->attr_title : '';
    		$atts['target'] = ! empty( $item->target )     ? $item->target     : '';
    		$atts['rel']    = ! empty( $item->xfn )        ? $item->xfn        : '';
    		$atts['href']   = ! empty( $item->url )        ? $item->url        : '';
    
    		$atts = apply_filters( 'nav_menu_link_attributes', $atts, $item, $args, $depth );
    
    		$attributes = '';
    		foreach ( $atts as $attr => $value ) {
    			if ( ! empty( $value ) ) {
    				$value = ( 'href' === $attr ) ? esc_url( $value ) : esc_attr( $value );
    				$attributes .= ' ' . $attr . '="' . $value . '"';
    			}
    		}
    
    		$title = apply_filters( 'the_title', writeTitle($item->title), $item->ID );
    
    		$title = apply_filters( 'nav_menu_item_title', $title, $item, $args, $depth );
    		
    		
    		if ($depth == 1) {
    			$writeIcon = '<div class="submenu__icon">
    				<div class="submenu__icon__img" style="background-image: url('.get_illImg($item->object_id)['url'].');"></div>
    			</div>&nbsp;';
    		} else {
    			$writeIcon = '';
    		}
    		$item_output = $args->before;
    		if (($depth == 1) && (get_field('activity', 'category_' .$item->object_id) == 'inactive')) {
    			$item_output .= '<div' .addTooltip($item->object_id). '>';
    			$item_output .= $writeIcon;
    			$item_output .= $title;
    			$item_output .= '</div>';
    		} else {
    			$item_output .= '<a'. $attributes .'' .addTooltip($item->object_id). '>';
    			$item_output .= $writeIcon;
    			$item_output .= $args->link_before . $title . $args->link_after;
    			$item_output .= '</a>';
    		}
    		$item_output .= $args->after;
    
    		$output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
    	}
    	
    }

    Вот, что получилось в результате:
    <ul id="menu-%d0%be%d1%81%d0%bd%d0%be%d0%b2%d0%bd%d0%be%d0%b5-%d0%bc%d0%b5%d0%bd%d1%8e" class="navigation_menu"><li id="menu-item-104" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home current-menu-item page_item page-item-8 current_page_item menu-item-has-children menu-item-104"><a href="https://my.site.ru/">Продукция</a>
    <ul class="navigation_submenu-0">
    	<li id="menu-item-304" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-304"><a href="https://my.site.ru/knx"><div class="submenu__icon">
    				<div class="submenu__icon__img" style="background-image: url(https://my.site.ru/wp-content/uploads/2019/04/KNX-site-1.png);"></div>
    			</div>&nbsp;KNX</a>
    	<ul class="navigation_submenu-1">
    		<li id="menu-item-1724" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-1724"><a href="https://my.site.ru/knx/actuators">Актуаторы</a></li>
    		<li id="menu-item-1725" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-1725"><a href="https://my.site.ru/knx/jalousie">Жалюзи</a></li>
    		<li id="menu-item-1726" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-1726"><a href="https://my.site.ru/knx/heating">Отопление</a></li>
    		<li id="menu-item-1727" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-1727"><a href="https://my.site.ru/knx/button">Модули входов/выходов</a></li>
    		<li id="menu-item-1728" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-1728"><a href="https://my.site.ru/knx/system">Системные устройства</a></li>
    		<li id="menu-item-1729" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-1729"><a href="https://my.site.ru/knx/accessories">Аксессуары</a></li>
    	</ul>
    </li>
    	<li id="menu-item-59" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-59"><a href="https://my.site.ru/modbus"><div class="submenu__icon">
    				<div class="submenu__icon__img" style="background-image: url(https://my.site.ru/wp-content/uploads/2019/04/Modbus-site.png);"></div>
    			</div>&nbsp;Modbus</a>
    	<ul class="navigation_submenu-1">
    		<li id="menu-item-67" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-67"><a href="https://my.site.ru/modbus/input-output">Устройства ввода-вывода</a></li>
    		<li id="menu-item-361" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-361"><a href="https://my.site.ru/modbus/adds">Системные устройства</a></li>
    	</ul>
    </li>
    	<li id="menu-item-63" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-63"><a href="https://my.site.ru/smart"><div class="submenu__icon">
    				<div class="submenu__icon__img" style="background-image: url(https://my.site.ru/wp-content/uploads/2019/04/Smart-site-1.png);"></div>
    			</div>&nbsp;Smart</a>
    	<ul class="navigation_submenu-1">
    		<li id="menu-item-182" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-182"><a href="https://my.site.ru/smart/climate">Климат</a></li>
    		<li id="menu-item-183" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-183"><a href="https://my.site.ru/smart/light">Свет</a></li>
    		<li id="menu-item-184" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-184"><a href="https://my.site.ru/smart/curtains">Шторы</a></li>
    		<li id="menu-item-223" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-223"><a href="https://my.site.ru/smart/accounting">Учёт</a></li>
    	</ul>
    </li>
    </ul>
    </li>
    <li id="menu-item-103" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-103"><a href="https://my.site.ru/news">Новости</a></li>
    <li id="menu-item-76" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-76"><a href="https://my.site.ru/buy.html">Где купить?</a></li>
    <li id="menu-item-423" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-423"><a href="https://my.site.ru/documents">Документы</a></li>
    <li id="menu-item-23" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-23"><a href="https://my.site.ru/contacts.html">Контакты</a></li>
    <li id="menu-item-1160" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1160"><a href="https://my.site.ru/forum.html">Форум</a></li>
    </ul>
    Ответ написан
    Комментировать
  • Как отсортировать по иерархическим папкам\таблицам 1М файлов в названии которых есть ФИО?

    @Aricus
    В цикле берём название файла, отбрасываем то, что после точки и разбиваем по пробелу (по тире не надо: фамилии через тире могут быть). Далее записываем в массив в таком виде:
    nameFiles['Арзамасцев']['Арбрам']['Агдамович'][0] = 'Арзамасцев Арбрам Агдамович.pdf'

    [0] - на случай полных тезок. Перед отображением на каждой итерации сортируем массив по ключу.
    Это всё надо делать не на странице после отображения, а на сервере. В подключении базы данных смысла не вижу, если кроме названия файлов не надо приписать ещё каких данных. Достаточно сканировать содержимое папки при загрузке страницы.
    Ответ написан
    Комментировать
  • Поиск HTML элемента по имени класса?

    @Aricus
    При создании вопроса кнопка </> существует не просто так. Не стесняйтесь её использовать.
    Если есть возможность, выведите то, что он видит в данный момент. Скорее всего, это выявит проблему.
    Я не знаю, как работает этот код, так что могу только предполагать из общих оснований:
    Вариант 1: Он видит не ту страницу, или не видит её вообще.
    Вариант 2: Страница не успела загрузиться в том виде, в каком вы её видите. Например, этот элемент добавлен с помощью js.
    Вариант 3: Вы просто неправильно что-то написали.
    Ответ написан
    Комментировать
  • Как сделать импорт базы mysql с заменой в php myadmin?

    @Aricus
    Если делать из phpmyadmin стандартный экспорт, то перед импортом нужно удалить старые таблицы в БД. Это проще всего.
    Можно в настройках импорта выгрузить только данные, без структуры таблиц, но, вероятно нарушение структуры данных из-за конфликтов id, если в таблицах уже есть данные. Не проверял.
    Кстати, БД большая, рекомендую для импорта bigdump.php
    Ответ написан
    Комментировать
  • Как понять внутри цикла WordPress и снаружи цикла?

    @Aricus
    Если быть точнее, цикл внутри while, после the_post(); Этот the_post и образует цикл wp извлечения постов.
    Ответ написан
  • Как обновить запись из таблицы mysql при нажатии на кнопку?

    @Aricus
    Как уже сказали в комментарии, нужно отправить post-форму, и при получении данных изменять значение в базе данных. Данные передать в скрытых полях формы.
    Если нужно, чтобы страница при этом не перезагружалась, то без js не обойтись. Отправлять нужно по ajax, на отдельную страницу, которая будет только изменять значение в БД. Данные можно извлечь из любого места на странице, форма тут уже не обязательна. Простой для понимания вариант ajax - в jquery.
    Ответ написан
    3 комментария
  • Как получить данные из json ответа, полученого при помощи ajax и поместить значение на график plotly.js?

    @Aricus
    Проблема в асинхронности поступающих данных. Функция завершается до того, как данные успевают поступить в return, потому ничего не возвращается. Если вам необходимо разделить эти две части, поместите в функцию Plotly, и вызовите её в ajax.
    Ответ написан
    Комментировать
  • При отправке формы bitrix, происходит скролл почти к низу страницы, как можно исправить?

    @Aricus
    Есть два варианта. Первый - найти источник:
    1. Проверьте, нет ли где-то рядом ссылок на якори. Если нет, тогда проблема в скриптах.
    2. Посмотрите, какой компонент и шаблон компонента используется. Проверьте шаблон на наличие js-скриптов.
    Второй - поставить заплатку. После отправки формы на экспериментально подобранное время запретить прокрутку. Как это сделать, написано, например, тут.
    Ответ написан
    Комментировать
  • Как подключить расширение PHP (dll) на xampp?

    @Aricus Автор вопроса
    Спасибо Para bellum c cyberforum.ru
    Я не правильно определил версию. Оказывается, разрядность системы (windows в данном случае) не обязана совпадать со разрядностью php. Обращать надо на следующие строки в phpinfo:
    • PHP Version
    • Architecture
    • Thread Safety
    Ответ написан