skewes

skewes

Essens.ru — парфюм европейского качества
+122
Репутация
315
Рейтинг
#1 Естьа работа вебмастеру, знающему Opencart 11 октября 2026 в 15:56

chat.deepseek.com/ — нейросеть. она все сделает

#2 Естьа работа вебмастеру, знающему Opencart 11 октября 2026 в 14:40

1. Войдите в дип сик.

2. Загрузите все файлы вашего компонента который необходимо установить в дип сик.

3. Скиньте информацию куда надо установить, какой движок используете, укажите ссылку сайта, напишите что именно вам надо и какие последствия могут возникнуть в случае ошибки, как с этим бороться, дай пошаговый план действий. Если план большой, давай действовать по 1 шагу в каждом обращении.

4. Установите все плашки в дип чик на умный, эксперт, думать что там такое.

5. Запустите задачу. 30 сек и он вам все скажет.

#1 Мультиязычность. Редактирование файла - frontend.php. Выводим урл из адреса строки, без названия КОМПОНЕНТА 30 сентября 2026 в 13:48

Всем приветы)))

Столкнулся я с такой штукой, что наш любимый Инстант делает немного не правильно, ну или в своей логике правильно, а вот пс-ы ругаются.
У нас, если включить КОМПОНЕНТ ПО УМОЛЧАНИЮ, ссылка убирается из УРЛ. Ок для индексации, но не ок для HREFLANG, то есть Гугл и яша говорят, что это не айс и в HREFLANG не должнго быть редиректов, то есть поиск хочет увидеть чистую страничку.

Сейчас у нас работает система так с включенным компонентом по умолчанию, то есть мы не видим board или pages в урл, а вот код страницы видит все иначе и там ссылки формируются для мультиязычности по старому принципу:

HREFLANG Найдено: 3

ru
essens.ru/board/parfum-lanvin-eclat-darpege-w102.html
en
essens.ru/en/board/parfum-lanvin-eclat-darpege-w102.html
x-default
essens.ru/board/parfum-lanvin-eclat-darpege-w102.html

Честно вам скажу, я не кодер, не эксперт, но я изменил код фронтед на данный код с помощью Дип Сика и у меня стало так:

HREFLANG Найдено: 3

ru
essens.ru/parfum-lanvin-eclat-darpege-w102.html
en
essens.ru/en/parfum-lanvin-eclat-darpege-w102.html
x-default
essens.ru/parfum-lanvin-eclat-darpege-w102.html

При этом это стало везде. Может я не прав и что-то сломается.

Скидываю весь код, может кто подскажет что еще нужно, может кому пригодится)))
Ну и если он работает и действительно это лучше для НАШЕЙ ЛЮБИМОЙ ЦМС, то можно и поменять в коробке по умолчанию)))
Идем в папку — system/controllers/languages, находим файл frontend.php и меняем весь код на:

  1. <?php
  2. /**
  3. * @property \modelLanguages $model
  4. */
  5. class languages extends cmsFrontend {
  6.  
  7. protected $useOptions = true;
  8.  
  9. /**
  10. * Включает мультиязычные поля формы
  11. * И при необходимости создаёт колонки в БД
  12. *
  13. * @param cmsForm $form
  14. * @return void
  15. */
  16. public function enableMultilanguageFormFields(cmsForm $form) {
  17.  
  18. if (!$this->cms_config->is_user_change_lang) {
  19. return;
  20. }
  21.  
  22. // Поля, которые нужно создать в БД
  23. $create_db_fields = [];
  24.  
  25. $structure = $form->getStructure();
  26.  
  27. // Включаем в самих формах
  28. foreach ($structure as $fieldset) {
  29.  
  30. if (!isset($fieldset['childs'])) {
  31. continue;
  32. }
  33.  
  34. // Могут быть включены для всех полей набора сразу
  35. $is_all_fields_enable = $fieldset['can_multilanguage'] ?? false;
  36.  
  37. // Дефолтные параметры для полей
  38. $default_fields_params = $fieldset['multilanguage_params'] ?? ['is_table_field' => false];
  39.  
  40. foreach ($fieldset['childs'] as $id => $field) {
  41.  
  42. if (!$is_all_fields_enable && !$field->can_multilanguage) {
  43. continue;
  44. }
  45.  
  46. $field->multilanguage = isset($field->multilanguage_params['field_name']) ? false : true;
  47.  
  48. $is_table_field = $field->multilanguage_params['is_table_field'] ?? $default_fields_params['is_table_field'];
  49.  
  50. if ($is_table_field) {
  51.  
  52. $table_name = $field->multilanguage_params['table'] ?? $default_fields_params['table'];
  53.  
  54. $create_db_fields[$table_name][] = $field->multilanguage_params['field_name'] ?? $field->getName();
  55. }
  56. }
  57. }
  58.  
  59. if ($create_db_fields) {
  60. $this->model->addLanguagesFields($create_db_fields);
  61. }
  62.  
  63. return;
  64. }
  65.  
  66. /**
  67. * Добавляет теги hreflang в HEAD страницы
  68. * https://developers.google.com/search/docs/specialty/international/localized-versions?hl=ru
  69. *
  70. * @return void
  71. */
  72. public function addHreflangTags() {
  73.  
  74. if(!$this->cms_config->is_user_change_lang){
  75. return;
  76. }
  77.  
  78. $langs = cmsCore::getLanguages();
  79.  
  80. // Язык по умолчанию &mdash; тот, который идёт без префикса (обычно ru)
  81. $default_lang = $this->cms_config->language;
  82.  
  83. // Реальный URI из браузера (без внутреннего префикса компонента)
  84. $request_uri = $_SERVER['REQUEST_URI'] ?? '/';
  85. $request_uri = ltrim($request_uri, '/');
  86.  
  87. // Отделяем query-строку
  88. $uri_query = '';
  89. if (strpos($request_uri, '?') !== false) {
  90. list($request_uri, $uri_query) = explode('?', $request_uri, 2);
  91. }
  92.  
  93. // Срезаем языковой префикс, если он есть (для любого языка, кроме дефолтного)
  94. foreach ($langs as $lang) {
  95. if ($lang === $default_lang) {
  96. continue;
  97. }
  98. if (strpos($request_uri, $lang . '/') === 0) {
  99. $request_uri = substr($request_uri, strlen($lang) + 1);
  100. break;
  101. }
  102. }
  103.  
  104. // Для каждого языка строим URL
  105. foreach ($langs as $lang) {
  106.  
  107. if ($lang === $default_lang) {
  108. // Язык по умолчанию &mdash; без префикса
  109. $href = $this->cms_config->host . '/' . $request_uri;
  110. } else {
  111. // Остальные языки &mdash; с префиксом
  112. $href = $this->cms_config->host . '/' . $lang . '/' . $request_uri;
  113. }
  114.  
  115. if ($uri_query) {
  116. $href .= '?' . $uri_query;
  117. }
  118.  
  119. $this->cms_template->addHead('<link rel="alternate" href="' . html($href, false) . '" hreflang="' . $lang . '">');
  120. }
  121.  
  122. // x-default &mdash; версия по умолчанию (та же, что и default_lang)
  123. $href_default = $this->cms_config->host . '/' . $request_uri;
  124. if ($uri_query) {
  125. $href_default .= '?' . $uri_query;
  126. }
  127.  
  128. $this->cms_template->addHead('<link rel="alternate" href="' . html($href_default, false) . '" hreflang="x-default">');
  129.  
  130. return;
  131. }
  132.  
  133. }
#4 Как сделать поля форума при добавлении мультиязычными? 3 сентября 2026 в 16:25

 Clear, как будто бы проще использовать типы контента))) форум уже переведен как я понимаю из коробки. там есть папка в en и открывается он уже как en/forum но нет именно перевода темы, сообщения и категорий...
Ладно спаибо большое! Буду думать как поступить лучше.

#1 Как сделать поля форума при добавлении мультиязычными? 3 сентября 2026 в 15:53

Всем привет)))

Может кто сталкивался?
Как сделать поля форума при добавлении мультиязычными?
То есть создание тем и сообщение, опросов а также в админке сделать EN, чтоб перевести категории и все остальное. Ума не приложу как это сделать.... 

#6 Content Security Policy 20 июля 2026 в 13:19

Всем привет))) Нашел тут тему, не стал создавать новую)))

Сделал Content Security Policy — Политику на своем сайте.

Делать устал, очень сложная настройка, особенно когда ты ничего не соображаешь и делаешь с нейронкой и по наитию)))

Выкладываю свою строку:

default-src 'self'; script-src 'unsafe-eval' 'nonce-{nonce}' 'strict-dynamic' yandex.ru yastatic.net google-analytics.com googletagmanager.com www.googletagmanager.com essens.ru api.instantcms.ru instantcms.ru upd.instantcms.ru docs.instantcms.ru www.google.com www.gstatic.com; script-src-elem 'self' 'unsafe-inline' www.google.com www.gstatic.com yastatic.net yandex.ru google-analytics.com googletagmanager.com www.googletagmanager.com essens.ru; style-src 'self' data: 'unsafe-inline' fonts.googleapis.com; img-src 'self' data: instantcms.ru yandex.ru yastatic.net https://*.googleusercontent.com informer.yandex.ru www.google.com www.gstatic.com; font-src 'self' data: fonts.gstatic.com; connect-src 'self' yandex.ru yastatic.net mc.yandex.ru wss://mc.yandex.ru google-analytics.com googletagmanager.com www.googletagmanager.com www.google-analytics.com essens.ru api.instantcms.ru instantcms.ru upd.instantcms.ru docs.instantcms.ru www.google.com www.gstatic.com; frame-src www.youtube.com yandex.ru mc.yandex.ru vk.com www.google.com

Может кому пригодится, а может кто подскажет что необходимо добавить)))

Может это и вовсе не надо — api.instantcms.ru upd.instantcms.ru docs.instantcms.ru

Добавлено спустя 5 минут

Ребята, вот скриншот, получилось 8 директив:

Изображение

Настраивал в режиме отчетов! Копировал ошибки и кидал их нейронке, она делала анализ и давала решение.

Прогнал в валидаторе, он указал еще ошибки, добавил, но одну директиву в инстанте не нашещел, вроде base называется… Не помню, вчера в валидаторе смотрел, вроде не критичная, но сегодня влидатор что-то другое показал и та директива была, добавил.

В общем, как я понял штука очень серьезная, особенно для Гугла.

Блогам и статейнику это не очень надо, а у кого Интернет-магазин, прям маст хэв сказала нейронка.

Работает в боевом режиме первый день, посмотрим по результам через месяц, отпишусь)))

Добавлено спустя 8 минут

9 директива ещё есть — object-src 'none'

Добавлено спустя 14 часов

Интернет-магазин почему то кнопка последняя не работает… Сейчас буду писать автору компонента, не могу понять как сделать чтоб в боевом режиме CSP начала работать 

Добавлено спустя 2 часа

Ну в общем это только начало… у меня 19 баллов из 100.

Проверял вот здесь — enterno. io/security

Жуть какая сложная штука… Буду потихоньку к ней возвращаться.

#7 Переместить "Наборы" в низ списка 6 июля 2026 в 18:56

 Zau4man, просто лучший!!! Спасибо большое!!!

#8 Переместить "Наборы" в низ списка 5 июля 2026 в 18:50

Всем привет)))

А можно как то у наборов переместить описание вниз?

Не могу понять как это сделать.

Или все таки эти наборы связаны с категориями?

<div class=«category_description category_description--bottom»>
        <?php echo $category['description']; ?>
    </div>

Добавлено спустя 35 минут

Ну в общем как я понимаю без костылей не обойтись....

#9 IndexNow Pro - тестирование 7 июня 2026 в 19:40

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

В гугл точно отправлялось с его компонента.

#10 Как сделать ссылку Чат как на официальном сайте Инстанта? 7 июня 2026 в 19:38

Zau4man, да я вас понял, что я ничего не понял))) 😂

Думал, может кто готовым решением поделится))) 🤣

но видимо это только мне надо… Но как сказать надо, просто интересно на самом деле)))

Совсем не критично))))))

#11 [ЕСТЬ РЕШЕНИЕ] Не добавляются отзывы 6 июня 2026 в 19:34

 pupsik, спасибо большое!!!!!!!!!

#1 Как сделать ссылку Чат как на официальном сайте Инстанта? 4 июня 2026 в 15:38

Ребята, кто нибудь делал Чат ссылкой как на официальном сайте?

Можете поделиться, подсказать пожалуйста)))

Изображение

#13 [ЕСТЬ РЕШЕНИЕ] Не добавляются отзывы 4 июня 2026 в 10:28

не поддерживает текущую версию InstantCMS и PHP 8.1. Просто верните версию PHP обратно, это если прям быстро

Clear

Да как то совсем не хочется… Тем более опен граф обновил, сайт летает просто как ракета… Удалил кучу всего лишнего, прям почти все идеалити)))

Тем более что сейчас сделал за отзыв, который не работает 😂 — 100 баллов и оплатить продукцию можно до 30% с баланса сайта.

Поэтому не вариант откатываться, надо решать данную проблему.

Подожду Парвиза, если не откликнется, напишу Максисофту или еще кому-нибудь, думаю решим данную проблему.

#1 [ЕСТЬ РЕШЕНИЕ] Не добавляются отзывы 4 июня 2026 в 09:54

Здравствуйте.

Помогите пожалуйста решить проблему с добавлением отзывов.

https://instantcms.ru/addons/reviews.html — это сам компонент. но тут нет последней версиии, 1.0.7, у меня именно она сейчас установлена.

Автору написал, не знаю когда ответит...

Обновился до последней версии Инстанта, перешел на php 8.1, отзывы перестали добавляться на сайт.

Пишет ошибки:

Warning: Undefined variable $auth in public_html/templates/modern/controllers/recommends/list.tpl.php on line 77

Warning: Undefined variable $systems in public_html/templates/modern/controllers/recommends/list.tpl.php on line 93

Warning: Undefined variable $auth in public_html/templates/modern/controllers/recommends/list.tpl.php on line 94

#15 Убрать наборы над контентом? 29 мая 2026 в 08:28

Мне вот интересно, а нельзя просто отдельно дать размер шрифту наборов 0px? Понимаю что коряво получается, но все таки))) 😂

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