
Akool
28.12.2017
14:22:03
Помогите понять логику.
Есть задача - показать в шапке хлебные крошки только на детальной странице товара. Плюс ещё немного кода.
В своём шаблоне элемента каталога добавляю
$this->SetViewTarget('element_crumbs');
$APPLICATION->IncludeComponent(
"bitrix:breadcrumb",
"crumbs",
Array(
"PATH" => "",
"SITE_ID" => "s1",
"START_FROM" => "0"
)
);
?>
$this->EndViewTarget();
А в header.php добавляю
$APPLICATION->ShowViewContent('element_crumbs');
Крошки выводятся, но не в хедере, где вызов, а перед выводом элемента.
Причем, если использовать не крошки, а просто html какой-то, то выводится там где надо в шапке. Выводил подобным образом меню, сработало где надо. Почему тогда с крошками такая проблема?
Может есть способ определить в header.php что это детальная страница товара, может через переменную какую, и по условию показывать нужный код?


Artur
28.12.2017
14:24:54
Помогите понять логику.
Есть задача - показать в шапке хлебные крошки только на детальной странице товара. Плюс ещё немного кода.
В своём шаблоне элемента каталога добавляю
$this->SetViewTarget('element_crumbs');
$APPLICATION->IncludeComponent(
"bitrix:breadcrumb",
"crumbs",
Array(
"PATH" => "",
"SITE_ID" => "s1",
"START_FROM" => "0"
)
);
?>
$this->EndViewTarget();
А в header.php добавляю
$APPLICATION->ShowViewContent('element_crumbs');
Крошки выводятся, но не в хедере, где вызов, а перед выводом элемента.
Причем, если использовать не крошки, а просто html какой-то, то выводится там где надо в шапке. Выводил подобным образом меню, сработало где надо. Почему тогда с крошками такая проблема?
Может есть способ определить в header.php что это детальная страница товара, может через переменную какую, и по условию показывать нужный код?
Переместите в шаблон комплексного компонента


Akool
28.12.2017
14:32:02
Переместить отложенную функцию SetViewTarget ?
Сейчас она размещается в
components/bitrix/catalog.element/.default/template.php
Там же есть ещё подобный вызов, только не для крошек, а для простого html и срабатывает в нужном месте шапки. Таким образом:
<? $APPLICATION->ShowViewContent('element_crumbs');?>
<h1><? $APPLICATION->ShowTitle(false) ?></h1>
<? $APPLICATION->ShowViewContent('element_likes'); ?>
Странно, что так чудят только крошки

Google

Artur
28.12.2017
14:34:58
Да, в detail.php комплексного компонента. Так все компоненты будут чудить внутри шаблона другого

Akool
28.12.2017
14:38:47
перенёс в
components/bitrix/catalog/catalog/element.php
Но вывод все равно в неположенном месте.
Есть ещё варианты?
Подобным образом объявляю меню в
components/bitrix/catalog/catalog/sections.php
и оно отображается в шапке как надо.
На всякий случай проверил, заменил тут же вызов крошек на вызов меню. Меню вылезло где надо в шапке, а вот крошки не хотят. Они какие-то особенные.
Есть ещё способы передать в header.php информацию о том, детальная это страница товара или страница со списком?


Nick
28.12.2017
14:55:56
Помогите понять логику.
Есть задача - показать в шапке хлебные крошки только на детальной странице товара. Плюс ещё немного кода.
В своём шаблоне элемента каталога добавляю
$this->SetViewTarget('element_crumbs');
$APPLICATION->IncludeComponent(
"bitrix:breadcrumb",
"crumbs",
Array(
"PATH" => "",
"SITE_ID" => "s1",
"START_FROM" => "0"
)
);
?>
$this->EndViewTarget();
А в header.php добавляю
$APPLICATION->ShowViewContent('element_crumbs');
Крошки выводятся, но не в хедере, где вызов, а перед выводом элемента.
Причем, если использовать не крошки, а просто html какой-то, то выводится там где надо в шапке. Выводил подобным образом меню, сработало где надо. Почему тогда с крошками такая проблема?
Может есть способ определить в header.php что это детальная страница товара, может через переменную какую, и по условию показывать нужный код?
https://dev.1c-bitrix.ru/support/forum/forum6/topic72339/#message_text_377524

Sergey
28.12.2017
14:57:40

Nikita
28.12.2017
14:57:48
Я обычно делаю два шаблона для внутренних в таком случае. Один сразу с крошками, для типовых страниц. И один без крошек - для каталога.
И уже в кучном компоненте каталога собираю все что мне нужно

Akool
28.12.2017
14:58:05
А вот это объясняет пробелму. Благодарю.
Значит вопрос остаётся открытым. Как вывести крошки только на детальной странице? Может кто знает?
url у всех товаров разный

Sergey
28.12.2017
15:00:03
бывает что деталька на ../detail/..

Akool
28.12.2017
15:00:45
Не в моём случае. К сожалению, такой вариант не подойдёт.

Sergey
28.12.2017
15:00:56
или еще какой то признаак

Nikita
28.12.2017
15:01:37
Регулярки, хз)
Самый костыль костыль)

Google

Akool
28.12.2017
15:42:02
Беде рад ещё идеям как определить детальную страницу, если вдруг кто вспомнит

Sergey
28.12.2017
15:50:11
костыли принимаются? css скрыть или js подгрузить

Akool
28.12.2017
15:52:53
то есть через js переместить из контента в шапку?
ну такой себе способ =)

Sergey
28.12.2017
15:54:15
поэтому про костыли и спрсил
имел ввиду подгрузить ajaxом
но для сео хорошего в этом не будет
лучше уж тогда скрыть везде через css

Владимир
28.12.2017
16:07:29
--,

Akool
28.12.2017
16:12:16
Если кому интересно, нашёл решение.
Крошки вставил просто в header.
в файлах компонента каталог sections и section вставил свойство
$APPLICATION->SetPageProperty("NOT_SHOW_NAV_CHAIN", "Y");
Увидел это на странице https://dev.1c-bitrix.ru/api_help/main/reference/cmain/getnavchain.php
И всё получилось как надо.

Konstantin
28.12.2017
16:13:05
Вопрос немного не по битриксу, но спрошу.
Создал новый пул для nginx в /run/php, скопировал дефолтный и поменял в нем только user & group и прописал в listen путь до сокета. После релоада nginx сокет не создаеться в /run/php. Что может быть?
Если переименовать дефолтный пул, и оставить мой кастомый, ребутнуть fpm то сокет создаеться. Такое ощущение как будтно 2 пула конфликтуют мужду собой

Станислав
28.12.2017
16:13:40
в котором в свою очередь будет проверка достижения секции
верно ли это?
или есть способ проще и менее ресурсоемкий?
проверка такого вида if($(_this).scrollTop()>=$(item).position().top && $(_this).scrollTop()<=$(item).position().top+item.clientHeight)...
_this описана в функции события скрола
перед циклом
спасибо товарищи)

Akool
28.12.2017
16:25:13
В блогодвижке Эгея при скроле меняется тайтл страницы на тот, что на виду.
https://ilyabirman.ru/meanwhile/
Возможно, вам поможет код этой фишки решить вашу задачу
https://ilyabirman.ru/meanwhile/system/library/smart-title/smart-title.js

Google

Станислав
28.12.2017
18:04:14
я так и сделал в общем-то)

Алексей
28.12.2017
18:12:35
Вечер добрый, ребята!
Включил логирование запросов и обомлел. При заходе на страницу оформления заказа (новый sale.order.ajax) сразу же отправлюется запросв на расчет цены доставки СДЭК курьером и СДЭК Пункт выдачи.
При этом, еще не введен ни город, ни индекс. Ничего. Первое посещения страницы оформления заказа неавторизованным пользователем.
В настройках компонента галочка "Расчитывать все службы доставки сразу" убрана. Компонент и щаблон полностью дефолтные.
Возникло два вопроса:
1) Модуль ipol.sdek не кеширует запросы на расчет стоимости заказа из коробки не только у меня?)) Мб, я где то опцию соответствующую пропустил по запарке? Что, к сожалению, маловероятно, т.к. лазил в код и на кеш намеков не увидел.
2) Знает ли кто, в чем смысл данных запросов в компоненте sale.order.ajax на первом же шаге? Мб, это не баг, а фича.
Заранее спасибо за подсказки и любые мысли по теме)


Dmitry
28.12.2017
18:14:05
Здорово
Лёха, это беда модуля
Более того, его запросы к апи чертовски медленны

Алексей
28.12.2017
18:46:38
Более того, его запросы к апи чертовски медленны
Привеет!
Ох , печалька) Выходит, самый простой путь - добавить кеширование вручную и не забывать "возвращать" его на место после обновлений?)
Кстати, сам sale.order.ajax тоже хорош получается. Зачем, вообще, дергать методы расчета доставки, когда и считать еще нечего + убрана галочка "Расчитывать цену фоном" )
Пол дня потратил - искал баг в кастомизированном компоненте оформления заказа и только под вечер подумал сравнить с оригинальным )


Anton
28.12.2017
18:50:34
Вечер добрый, ребята!
Включил логирование запросов и обомлел. При заходе на страницу оформления заказа (новый sale.order.ajax) сразу же отправлюется запросв на расчет цены доставки СДЭК курьером и СДЭК Пункт выдачи.
При этом, еще не введен ни город, ни индекс. Ничего. Первое посещения страницы оформления заказа неавторизованным пользователем.
В настройках компонента галочка "Расчитывать все службы доставки сразу" убрана. Компонент и щаблон полностью дефолтные.
Возникло два вопроса:
1) Модуль ipol.sdek не кеширует запросы на расчет стоимости заказа из коробки не только у меня?)) Мб, я где то опцию соответствующую пропустил по запарке? Что, к сожалению, маловероятно, т.к. лазил в код и на кеш намеков не увидел.
2) Знает ли кто, в чем смысл данных запросов в компоненте sale.order.ajax на первом же шаге? Мб, это не баг, а фича.
Заранее спасибо за подсказки и любые мысли по теме)
1. данные в целом хранятся на сервере где битрикс и актуализируются при необходимости.
2. можно забить ибо экономить на этой странице это экономия на спичках. в целом дело в несогласованности модуля и компоненты. но фактически там доли секунды, а клиент уже подогогретый
переписать оформление заказа, это первый челендж, который должен сделать битриксоид
скорее всего это включат в расширенный третий экзамен сертификации
там будет два варианта. либо поставить галку "мне все нравится, идеальный компонент на семь тыщ строк кода жэ эс, не требует кастомизации и так все ок."
и второй "говно, ща все перепиши под задачу"
если делать второй вариант, то сразу незачет


Алексей
28.12.2017
19:13:47
там будет два варианта. либо поставить галку "мне все нравится, идеальный компонент на семь тыщ строк кода жэ эс, не требует кастомизации и так все ок."
и второй "говно, ща все перепиши под задачу"
Наверное, мы друг друга недопоняли) С шаблоном уже успел разобраться - было дело. Вопрос не о нем, а о самом компоненте, который переписывать - идея уже так себе.
Про экономию на спичках не согласен.
Посетитель просто зашел в корзину и еще ничего не ввел, а уже десяток запросов (по одному от каждой внешней службы доставки)улетело на внешние сервисы. При сотне тысяч посетителей в сутки, нагрузка существенная. Плюс, тратятся драгоценные лимиты у тех служб доставки, где он есть.
Но все эти запросы, на первый взгляд, не несут ни какой смысловой нагрузки. По сути, затраты вникуда (

Akool
28.12.2017
19:58:53
А доставку shop-logistic кто-нибудь тут подключал?

Ok
28.12.2017
22:28:20
подключали

Akool
29.12.2017
04:49:35
Через платное дополнение из маркетплейса или своим кодом?

Artur
29.12.2017
05:35:32

svetlana
29.12.2017
07:18:18
угораю чёта

Akool
29.12.2017
07:19:13
Мне не понять юмора.
вероятно я некорректно вопрос задал

Google

svetlana
29.12.2017
07:19:45
неее, просто я разраб модуля из МП и я не знаю как на ваш вопрос ответить ))))

ruslyderq
29.12.2017
07:21:54
Ребят, есть таблица в бд mysql с телефонами

Akool
29.12.2017
07:21:55
А ))) ну тогда понятно

ruslyderq
29.12.2017
07:21:58
телефоны разных видов
9821114278
+79821114278
нужно их привести к виду 8(982)-111-42-78

Akool
29.12.2017
07:23:15
Там есть модуль от инфоспайс и ещё более старый. @c_piper вы из какого?

ruslyderq
29.12.2017
07:23:20
через sql - реально сделать?

svetlana
29.12.2017
07:23:31
инфоспайс

Akool
29.12.2017
07:23:42
так и думал

svetlana
29.12.2017
07:24:12
слишком разные

Михаил
29.12.2017
07:49:10
Ребят, можете подсказать, почему обработчик события OnSuccessCatalogImport1C вызывается дважды при выгрузке товаров из 1с?

Виктор
29.12.2017
07:50:19
На каждый пакет скорее всего

Михаил
29.12.2017
07:50:57
А это можно как-то побороть?

Виталий
29.12.2017
07:52:58

Михаил
29.12.2017
07:55:11
А на стороне сайта нельзя как-нибудь определить что последний пакет? Мне нужно вызвать обработчик когда всё выгрузится. Там просто сложности с руками на стороне 1с

Юрий
29.12.2017
08:10:11
Посылать из 1С запрос при окончании выгрузки.

Pavel
29.12.2017
08:14:12
почти как обработчик формы сайта))

Google

Aquinary
29.12.2017
08:34:12
Ребята, у кого был опыт включения яндекс.маркета с API битрекса?

Артемий
29.12.2017
08:48:56
Народ, а те кто использует гит в работе, исключает структуру сайта из отслеживания или нет?

Vite4eg
29.12.2017
08:49:32
Структура сайта - это что?
Паблик каталоги?

Артемий
29.12.2017
08:50:44
Да. Страницы сайта
о компании, контакты

Vite4eg
29.12.2017
08:51:03
Я все эти файлы включаю

Артемий
29.12.2017
08:51:09
я их отслеживаю, но бывает зайдешь на сайт через месяц-другой, а там уже новые страницы. переименовали что-то или сеодобавили
вот я тоже включаю да, типа бэкапа
но бывает что проект я уже сам не отслиживаю и потом спустя полгода просят что-то сделать и ... я короче бывало малость лоховался когда делал правки не проверит ветку на сервере на наличие изменений

Vite4eg
29.12.2017
08:53:07
Я всегда первым делом проверяю на наличие изменений на бою. Мало того что руками могут чего-то на бою понаделать, дак зачастую разрабы скв вообще не используют

Артемий
29.12.2017
08:53:24
скв?
аааа
понял

Vite4eg
29.12.2017
08:53:38
Система контроля версий