Комментарии

0
skewes skewes → LLMS Generator - тестовый генератор llms.txt и llms-full.txt 4 месяца назад

# Essens — интернет-магазин аналогов духов и люксовой парфюмерии

> Essens — это интернет-магазин, где можно купить качественные аналоги духов по мотивам известных брендов, а также косметику и товары для здоровья. Цены в 2-4 раза ниже оригиналов при сохранении узнаваемого шлейфа и стойкости.

Мы предлагаем более 100 ароматов — точные парфюмерные композиции с концентрацией эссенций до 20%. Бесплатная доставка духов по России, пробник в подарок к каждому заказу. Реальный рейтинг ★4.9/5 на основе отзывов покупателей.

## Каталог аналогов духов по брендам

— [Аналоги Chanel](https://essens.ru/board-chanel) — Coco Mademoiselle, Chance и другие.
— [Аналоги Dolce&Gabbana](https://essens.ru/board-dolcegabbana) — L'imperatrice, The one, Light Blue и прочие. 
— [Аналоги Christian Dior](https://essens.ru/board-christiandior) — Sauvage, J'adore, Fahrenheit, Miss Dior.
— [Аналоги YSL](https://essens.ru/board-ysl) — Libre, Black Opium, Y for Men.
— [Аналоги Lancôme](https://essens.ru/board-lancome) — La Vie Est Belle, Trésor.
— [Аналоги Paco Rabanne](https://essens.ru/board-pacorabanne) — Phantom, One Million, Invictus, Lady Million.
— [Аналоги Tom Ford](https://essens.ru/board-tomford) — Black Orchid, Tobacco Vanille, Lost Cherry.

## Каталог по типу ароматов

— [Женские духи-аналоги](https://essens.ru/zhenskie-duhi) — цветочные, фруктовые, восточные композиции.
— [Мужские духи-аналоги](https://essens.ru/muzhskie-duhi) — древесные, фужерные, пряные ароматы.
— [Унисекс ароматы](https://essens.ru/duhi-uniseks) — для тех, кто выбирает парфюмерию без границ.

## Другие категории

— [Косметика и уход](https://essens.ru/kosmetika) — кремы, маски, масла для лица и тела.
— [Товары для здоровья (БАДы)](https://essens.ru/zdorovie-badi) — лактоферрин, пробиотики, витамины.

## Полезные страницы

— [Акции и скидки](https://essens.ru/akcii) — 5+1, 7+2, 9+3 — купи больше, получи подарок.
— [Форум партнёром и клиентов Essens](https://essens.ru/forum) — делитесь опытом, задавайте вопросы, читайте новости.
— [Группы, сообщества Essens](https://essens.ru/groups) — вступайте в сообщество Essens, публикуйте блоги, узнавайте первыми самое интересное.
— [Доставка и оплата](https://essens.ru/delivery)
— [Как стать партнёром (дистрибьютором)](https://essens.ru/partner-essens.html)
— [Частые вопросы об Essens](https://essens.ru/faq)

---
Essens — это разумная альтернатива духам и люксовой парфюмерии без потери качества. Покупай духи за ⅓ цены. Бесплатная доставка по Москве и РФ, подарок с каждым заказом.

Я вот так сделал llms.tx. Изначально заметил этот файл в pr-cy при анализе сайта. Ну и потом в дип сик и он все написал))) Вообще нейронки конечно делают вещи.

0
DeusSpa DeusSpa → Авторизация через Яндекс ID 4 месяца назад

хм так если автор данного приложения не будет использовать свои css для ИЛИ, а возьмёт готовый из системы чтобы обновы не ломали снова..

То нужно это все:

  1. <div class="yandexauth-doc-separator">
  2. <span></span>
  3. <b>или</b>
  4. <span></span>
  5. </div>
  6.  
  7. тут span выступает как после и до - черта до и после ИЛИ
  8.  
  9. .yandexauth-doc-separator {
  10. display: flex;
  11. align-items: center;
  12. justify-content: center;
  13. gap: 12px;
  14. margin: 0 0 12px;
  15. color: #8f91a3;
  16. font-size: 13px;
  17. font-weight: 700;
  18. line-height: 1;
  19. text-transform: uppercase;
  20. }
  21. .yandexauth-doc-separator span {
  22. display: block;
  23. height: 1px;
  24. flex: 1 1 auto;
  25. max-width: 120px;
  26. background: #d9ddec;
  27. }

заменить/повешать на готовый класс которые как раз вылазят при вызове хука

<div class=«center_cell»>или</div>

  1. .center_cell {
  2. display: flex;
  3. align-items: center;
  4. justify-content: center;
  5. gap: 12px;
  6. margin: 0 0 12px;
  7. color: #8f91a3;
  8. font-size: 13px;
  9. font-weight: 700;
  10. line-height: 1;
  11. text-transform: uppercase;
  12. position: relative; /* важно для позиционирования псевдоэлементов */
  13. }
  14.  
  15. .center_cell::before,
  16. .center_cell::after {
  17. content: ''; /* обязательно для отображения псевдоэлемента */
  18. display: block;
  19. height: 1px;
  20. flex: 1 1 auto;
  21. max-width: 120px;
  22. background: #d9ddec;
  23. }
  24.  

тем самым отказаться в пользу системного, и переопределять своими стилями при под грузке кнопки как сейчас. Тогда ни где ни чего не сломается в будущем.

Так же можно передать стили надписи расположив их и тп по центру и в стиль ИЛИ, или же просто скрывать с виду классами

<div class=«right_cell»>
        <h3>Войдите через</h3>

Тут уже как LockD решит, думаю будет правильнее использовать системные надписи.

0
DeusSpa DeusSpa → Авторизация Google OAuth 4 месяца назад

Требования для установки можно понизить ) сейчас php 8, но работает и на 7.4 спокойно.

0
DeusSpa DeusSpa → Авторизация через Яндекс ID 4 месяца назад

Это видимо по умолчанию есть в instant, и да как то оно… в общем тут

templates\default\controllers\auth\widgets\auth 

Редактируем/комментируем строку

  1. <!--<div class="widget_log_in_openid_title"><?php echo LANG_LOG_IN_OPENID; ?></div>-->

в данном блоке

  1. <?php if($hooks_html){ ?>
  2. <div class="widget_log_in_openid">
  3. <!--<div class="widget_log_in_openid_title"><?php echo LANG_LOG_IN_OPENID; ?></div>-->
  4. <?php echo html_each($hooks_html); ?>
  5. </div>
  6. <?php } ?>

и тогда надписи уйдет с формы авторизации, в регистрации не должно быть данного хука, но если у вас там выводится то проделайте так же. 

Аналогично в templates\default\controllers\auth файл login.tpl.php

в низу ищем блок и  комментируем две строки

  1. <?php if($hooks_html){ ?>
  2. <!--<div class="center_cell"><?php echo LANG_OR; ?></div>-->
  3. <div class="right_cell">
  4. <!--<h3><?php echo LANG_LOG_IN_OPENID; ?></h3>-->
  5. <?php echo html_each($hooks_html); ?>
  6. </div>
  7. <?php } ?>
0
DeusSpa DeusSpa → InstantCMS 2.18.1 4 месяца назад

Спасибо

0
pupsik pupsik → InstantCMS 2.18.1 4 месяца назад

Предпологал, Да. Исходя от дочерного шаблона Модерн в JS ошибок нет. А у вас дочерный шаблон Дефаулт (что Я не углядел).  Увы. Верней углядел, а мысли О ‎templates/modern/js/. Вот и сказал, что ТАМ ошибки нет.

+1
Fuze Fuze → InstantCMS 2.18.1 5 месяцев назад

Вопрос к разработчикам — а можно как то по дефолту включить исправленную функцию в сборку в какой то из этих js на выбор по усмотрению. И почему же boxed шаблон не получал токен корректно  и возвращал «undefined»

Добавим подобную правку в шаблон default.

0
DeusSpa DeusSpa → InstantCMS 2.18.1 5 месяцев назад

Уважаемый pupsik я дождусь официального ответа от разработчиков )

Вы ране предполагали что дело не в js а в чем то ещё, но оказалось именно в том чем я начал ковыряться и мои правки помогут кому то ещё не блуждая в поисках. А вот про правки, может быть Fuze примет по умолчанию или же подскажет куда капнуть в шаблоне, чтобы работало по умолчанию.

Ведь кнопка удаления уведомления ни чем не отличается от того что в default шаблоне. Потому что она и есть  с оригинала тянется. 

0
pupsik pupsik → InstantCMS 2.18.1 5 месяцев назад

Тот файл что меняли, ложите себе в шаблон. Если не хотите так, то создайте текстовый файл с листом ваших правок. (Это если уж совсем никак без правок)

Или переделывайте свой шаблон чтоб работал с оригинальными JS файлами инстант. Например: если кнопки отправки комментария не работают в Вашем шаблоне, то надо править не JS файлы инстант шаблона, а сам ВАШ шаблон отправки комментария. В дальнейшем обновляться будет легче.

0
DeusSpa DeusSpa → InstantCMS 2.18.1 5 месяцев назад

Вернулся я с заезда и решил все таки понять суть моей проблемы.

Повторю что шаблон у меня boxed и тянет все с default, аналогичные шаблоны так же могут ловить ошибки с удалением с сайта уведомлений.

Решение простое не важно где лежат js исправление функции в core.js или messages.js

для core.js найти и заменить функцию:

  1. this.getCsrfToken = function (){
  2. if(this.csrf_token === false){
  3. this.csrf_token = $('meta[name="csrf-token"]').attr('content');
  4. }
  5. return this.csrf_token;
  6. };


на:

  1. this.getCsrfToken = function (){
  2. if(!this.csrf_token){
  3. this.csrf_token = $('meta[name="csrf-token"]').attr('content');
  4. }
  5. return this.csrf_token;
  6. };


или

  1. this.getCsrfToken = function (){
  2. if(this.csrf_token === false || typeof this.csrf_token === 'undefined'){
  3. this.csrf_token = $('meta[name="csrf-token"]').attr('content');
  4. }
  5. return this.csrf_token;
  6. };


Альтернативный вариант в messages.js:

  1. this.csrf_token = icms.forms.getCsrfToken();


заменить на:

  1. // ПРИНУДИТЕЛЬНО БЕРЕМ ТОКЕН ИЗ МЕТА-ТЕГА
  2. this.csrf_token = $('meta[name="csrf-token"]').attr('content');

и начинает все работать. Могу скопировать что то из этих js к себе в шаблон чтобы в будущем знать что меняется, хотя можно и забыть...

Вопрос к разработчикам — а можно как то по дефолту включить исправленную функцию в сборку в какой то из этих js на выбор по усмотрению. И почему же boxed шаблон не получал токен корректно  и возвращал «undefined»


icms.forms.getCsrfToken() возвращает undefined (хотя должен вернуть токен из мета-тега)
icms.messages.csrf_token тоже undefined


В темплейте прописана функция получения токена и все js получают его тоже 

***

 <link rel=«stylesheet» type=«text/css» href="/templates/default/controllers/neomessenger/css/styles.css?41">
 <script src="/templates/default/js/jquery.js?41" nonce=«6f9da6a92d384468af05921dddd141b911a633dcc683c228»></script>
 <script src="/templates/default/js/jquery-modal.js?41" nonce=«6f9da6a92d384468af05921dddd141b911a633dcc683c228»></script>
 <script src="/templates/default/js/core.js?41" nonce=«6f9da6a92d384468af05921dddd141b911a633dcc683c228»></script>
 <script src="/templates/default/js/modal.js?41" nonce=«6f9da6a92d384468af05921dddd141b911a633dcc683c228»></script>
 <script src="/templates/default/js/messages.js?41" nonce=«6f9da6a92d384468af05921dddd141b911a633dcc683c228»></script>
 <script src="/templates/boxed/js/hc-offcanvas-nav.js?41" nonce=«6f9da6a92d384468af05921dddd141b911a633dcc683c228»></script>
 <script src="/templates/default/controllers/emojione/js/emojione.js?41" nonce=«6f9da6a92d384468af05921dddd141b911a633dcc683c228»></script>
 <script src="/templates/boxed/js/jquery-cookie.js?41" nonce=«6f9da6a92d384468af05921dddd141b911a633dcc683c228»></script>
 <script src="/templates/default/js/fields/string_input.js?41" nonce=«6f9da6a92d384468af05921dddd141b911a633dcc683c228»></script>
 <script src="/templates/default/js/jquery-cookie.js?41" nonce=«6f9da6a92d384468af05921dddd141b911a633dcc683c228»></script>
 <script src="/templates/default/widgets/alertcookie/alertcookie.js?41" nonce=«6f9da6a92d384468af05921dddd141b911a633dcc683c228»></script>
 <script src="/templates/default/controllers/neomessenger/js/editor.js?41" nonce=«6f9da6a92d384468af05921dddd141b911a633dcc683c228»></script>
 <script src="/wysiwyg/markitup/image_upload.js?41" nonce=«6f9da6a92d384468af05921dddd141b911a633dcc683c228»></script>
 <script src="/wysiwyg/markitup/insert_smiles.js?41" nonce=«6f9da6a92d384468af05921dddd141b911a633dcc683c228»></script>
 <script src="/wysiwyg/markitup/jquery.markitup.js?41" nonce=«6f9da6a92d384468af05921dddd141b911a633dcc683c228»></script>
 <script src="/templates/default/controllers/neomessenger/js/libs.min.js?41" nonce=«6f9da6a92d384468af05921dddd141b911a633dcc683c228»></script>
 <script src="/templates/default/controllers/neomessenger/js/neomessenger.js?41" nonce=«6f9da6a92d384468af05921dddd141b911a633dcc683c228»></script>
 <script src="/templates/default/controllers/neomessenger/js/templates.min.js?41" nonce=«6f9da6a92d384468af05921dddd141b911a633dcc683c228»></script>
 <meta name=«csrf-token» content=«ad4ccadeb310b0e6377b7e668403314ab9df4cf3ce5a327035ee326ee0362fdc» />
 <link rel=«stylesheet» type=«text/css» href="/templates/boxed/css/styles.css?41">

***

0
dChirkis dChirkis → Авторизация Google OAuth 5 месяцев назад

Функционал авторизации сделан через компонент — он уже в системе и он может получить статус параметра системы. Ваш довод про ИЛИ не корректен

0
dChirkis dChirkis → Авторизация Google OAuth 5 месяцев назад

Согласен с вами

0
skewes skewes → Авторизация Google OAuth 5 месяцев назад

Да вроде все работает без нареканий)))

0
LockD LockD → Авторизация Google OAuth 5 месяцев назад

Скоро фикс выложу

+1
pupsik pupsik → Авторизация Google OAuth 5 месяцев назад

Это уже надо в самом плагине делать проверку. Если не по проглашению значит кнопки social login = disable. Если по приглашению, enable. Не так уж и сложно, надо только посмотреть как это приглашение работает в инстант и внедрить в плагин.

0
dChirkis dChirkis → Авторизация Google OAuth 5 месяцев назад

Тогда надо сделать в настройках компонента — выключатель  кнопки на регистрацию, что бы оставить возможность входа в аккаунт. Проверил на существующем аккаунте созданным на выбранный гугловский ящик — входит.

0
skewes skewes → Авторизация Google OAuth 5 месяцев назад

Скорее всего это логично... 

Вы либо регистрируетесь посредством ЦМС, либо регистрируетесь посредством ID...

Если у вас ТОЛЬКО ПО ПРИГЛАШЕНИЮ, то вам сам компонент не подходит, потому как никаких приглашений он не выдает и не видит.

Там ведь даже написано «ИЛИ» — ну то есть входите так или можете вот так.

0
dChirkis dChirkis → Авторизация Google OAuth 5 месяцев назад

Есть проблема — если регистрация на сайте только по приглашению (надо вводить код) — то компонент игнорирует это условие и создаёт аккаунт. 

0
skewes skewes → Авторизация Google OAuth 5 месяцев назад

С меня донат вам обязательно)))

Немного попозже отправлю)))

0
skewes skewes → Авторизация Google OAuth 5 месяцев назад

Все хорошо!!! Все работает!

🍪Мы используем файлы cookie для работы сайта. Читать подробнее.