-
Публікації
354 -
З нами
-
Відвідування
Тип публікації
Профілі
Форум
Маркетплейс
Статті
FAQ
Наші новини
Магазин
Блоги
module__dplus_manager
Повідомлення, опубліковані користувачем nogocuHoBuk
-
-
В 22.02.2024 в 18:59, NotSlow сказав:
если country not equal UA
Боты гугла часто ходят с IP USA.
- 2
-
Заскринил вопрос, скормил чатугпт, пришли с ним к красивому решению с горем пополам, но он отказался "делиться" перепиской, так как в ней есть изображения
Пришлось повторно с толкача заводить. Но результат приемлемый.
Ну а довести до нужно вам внешнего вида, не составит труда, думаю- 2
-
если
В 04.11.2023 в 22:16, abssolut сказав:в поле Адрес стоит {contact-data}
то с вероятностью приближенной к 100% поле обрабатывается контроллером. в нём и можно глянуть откуда берётся значение. Вероятнее всего в БД сохранен адрес в конфигах для вывода в футере, например, или на каких-то доп. страницах.
-
В 25.09.2023 в 21:07, chukcha сказав:
Можно и в одном
Логично, но есть одно НО
Тогда и на фронте будет отображаться та почта, с которой идёт отправка.
А ему нужно чтобы отправлялось с одной но ему писали на другую (ту, что показана на сайте) -
-
Добрый. Я так понимаю модуль всё? Или можно брать?
Какая версия PHP и IonCube требуемая?
PHP 7.3
IonCube 12.0.5Заведется?
-
По причине того, что поле username это, в зависимости от службы, не всегда почта - опенкарту при отправке письма нужно от чего-то отталкиваться, чтобы наверняка указать отправителя. И единственное поле, где email указан с вероятностью 146% - Система->Настройки->Магазин->E-mail
Но Вы, естественно, можете захардкодить этот момент. Везде, где используется отправка письма (а это около 100 правок в примерно 40 файлах) вместо:
$from = $this->config->get('config_email'); $mail->setFrom($from);
Сделать что-то вроде такого:
$mail->setFrom($this->config->get('config_mail_smtp_username'));
Сработает, естественно, в случае, если у Вас username это почта.
-
В 23.09.2023 в 00:58, AlexMax13 сказав:
$product_info['meta_h1'] = $product_info['meta_h1'];
Масло масляное. Бесполезная строка не выполняющая ничего.
В скрипте у Вас функция hpm_select вызывается дважды.
1. При клике по элементу с классом .hpm-cat-item
2. При изменении значения селекта внутри элемента с классом .hpm-cat-box
В качестве параметра передается $(this), т.е. непосредственно элемент. И с вероятностью 146% ни селект ни .hpm-cat-item не содержит data_meta_h1.
Если я правильно понимаю Вы пытаетесь в модуле HPM в категории при смене товара-опции чтобы менялся и мета тег h1, но это не корректно.
Тег h1 должен быть единственным на странице. Т.е. в категории в качестве H1 будет показываться (и должен показываться) meta_h1 (и при его отсутствии name) именно категории, а не товара.
Вы бы лучше первоначальную задачу описали, что именно Вы делаете?- 1
-
В 22.09.2023 в 19:36, nykone сказав:
Ці списки, інколи потрапляють у фрагменти відповідей Google видачі
Я ж не писав "нашо вам таке на сайті?", а доволі точно задав питання : "нашо вам модуль?" Ваша побажанка це виправлення 3-х рядків коду вашої теми. Розумієте?
- 1
-
Не зовсім зрозуміло навіщо модуль? Це ж стандартний функціонал опенкарту - рекомендовані товари в категорії:
Різниця лише в тому, що показ цих товарів буде не картками, а списком - 2 рядки коду в twig. Тобто виводити назву та ціну замість повного змісту (фото, опис, наявніть й іньше)
PS. Можливо ще знадобиться 3 рядки jquery докрутити, щоб була функція "приховати/показати", але то вже прикраси.
- 1
-
В 18.09.2023 в 22:24, Seofisher сказав:
ну постом выше я это и написал)
А я разве это оспариваю? Просто Вы оказались быстрее))) Я не видел Вашего сообщения, пока не опубликовал своё)
- 1
-
В 18.09.2023 в 20:24, Gariks сказав:
Именно об этом речь.
Вопрос в том, что есть категории где более 90% или все 100% "нет в наличии", так как поставщик их не поставляет и даже убрал из выгрузки.
Заходите в категорию, а там "нет в наличии".
Вот, что делать?Капец вы тут понаписывали )
Ещё раз - не нужно никаких дополнительных кнопок и прочего.
Основа уже есть - товар не в наличии. Осталось только в категории скрыть товары, которых нет в наличии:Одна строка в коде. Ответу 12 лет но актуальность его от этого не приуменьшилась
Ну и модуль есть:И модуль и тема про опенкарт 1.5, но суть, я думаю, вы уловите если скачаете модуль и посмотрите что он делает (если есть навыки конечно)
- 1
-
В 18.09.2023 в 16:54, Gariks сказав:
Но, если отключить, то для поисковиков, это 404.
Вопрос: это нормально 404? Думал, если удалить, то будет 404, но и при отключении тоже 404.
Как лучше, именно для поисковиков?Не совсем понял (точнее совсем не понял) что Вы хотели увидеть при отключении товара?
Ну вот есть товар, у него есть ссылка. Вы хотите
В 18.09.2023 в 16:54, Gariks сказав:что бы он не показывался на сайте
но при этом
В 18.09.2023 в 16:54, Gariks сказав:что бы был url для поисковиков
Это как? Ну т.е. поисковик перешел по ссылке и что? Что на странице то показывать?
Для СЕО лучше не отключать товар, а сделать невозможным его покупку. Т.е. установить количество равное 0 и запретить в настройках продажу при отсутствии.
В этом случае товар открывается по ссылке. Но купить его нельзя (он псевдоотключен).
Во всех других случаях - вполне ожидаемая 404. А 404 означает обязательное удаление из индекса.
Пусть лучше пользователь перейдёт в карточку товара, которого нет в наличии и останется на сайте и, возможно, подберет у вас замену, чем вообще не попадёт к вам на сайт ))) -
В 20.04.2023 в 21:16, Exploits сказав:
Либо вообще сделать проще.
В пункте Дополнительные статические параметры
слева - <name_ua> правее - ((pd.name_rozetka))
слева - <description_ua> правее - ((pd.short_description))Ну и убрать с пункта 4.2 строку мультиязычности
Если я правильно понял логику, то если я уберу строку мультиязычности, то Ваш скриппт не поймёт что pd.name_rozetka и pd.short_description нужно брать для language_id = 2, так как для ru у меня эти же поля, но с language_id = 1.
Прихований текст
А вот вариант с правками в структуре действительно правильней.
Спасибо!
Просто у меня там в настройках вот такое уже:
Но сам факт того, что на основании кастомных полей, можно создать полноценную выгрузку - прям огонь. Ещё разбираюсь в настройках, так как некоторые из существующих полей тоже сделаны слегка рукожопно (те же pd.name_rozetka и pd.short_description) и вот думаю как это всё дело сделать красиво, чтобы было удобно добавлять новые выгрузки и так же легко их отключать. -
В 20.04.2023 в 16:50, nogocuHoBuk сказав:
У меня вместо name и description используются кастомные name_rozetka и short_description
Угу. С этим разобрался.
В цикле задал замену и unset
В таком случае логичней бы было в 4.2 указывать в fields не просто значения а массив - поле-значение, т.е. как-то так:
$data['lang_data'] = array('lang_id' => 2, 'fields' => ['name' =>'name_rozetka', 'description' => 'short_description']);
Но это уже вкусовщина, да. -
Возник вопрос:
В помощи написано
У меня вместо name и description используются кастомные name_rozetka и short_description
Прихований текст
Т.е. для реализации мультиязычности нужно в пункте 4.2 прописать:
$data['lang_data'] = array('lang_id' => 2, 'fields' => 'name_rozetka, short_description');
Что я, собственно и делаю.
Пример - товар с id 22227
В БД заполнено для двух языков:
Но в фиде рисует пустые теги name_ua и description_ua
Подскажите, ЧЯДНТ.
Сразу спасибо за ответы. По всему остальному, вроде, вопросов нет. ) -
Вітаю. Чи є можливість відібрати товари за значенням поля в БД?
Дивіться. Є реалізація додавання товарів до того чи іньшого фіда одним кліком (відео під спойлером):Прихований текст
В БД велика кількість товарів і додавати їх безпосереднью в фід в модулі буде (мені здається) не дуже зручно.
тобто вказати ((p.status_roz)) == '1'
Чи, можливо, можна, наприклад, вказати функцію, як в модулі Simple. Тобто я напишу функцію get_ids_for_feed("rozetka") яка буде повертати потрібні product_id, і просто вкажу її. Чи то я забагато хочу? -
В 31.03.2023 в 11:51, KIV37 сказав:
На початку співпраці, необхідно надати нам для перевірки тест файл
ХМ. У Вас же просто опис XML для offers. Классичний. Як ви дізнаєтеся досвід програміста за шматком шаблонного XML? Але то таке... На ваш розсуд
В 31.03.2023 в 11:51, KIV37 сказав:Ваш програміст налагоджує автоматичне відправлення (на наш ftp-сервер, або по АПІ)
Цитую:В 31.03.2023 в 11:51, KIV37 сказав:або по АПІ
Нашо вам той FTP, якщо у "Таблеточки" э API? З повноціннимблек-джеком і шлюпкамиJSON замість застаріваючого з кожним днем XML?
А якщо реалізувати звїязок через API, то початкове ТЗ в корні не вірне. Точніше вірне для того, хто зрозумів можливості "таблеточок" по своєму.
Задля розуміння. Я не візьмусь, якшошо. Навіть не претендую на співпрацю, але просто вирішив залишити коментар відносно ТЗ і XML- 1
-
27.07.2022 в 17:10, AlexMax13 сказал:
эта версия опенкарта живет своей жизнью
27.07.2022 в 17:10, AlexMax13 сказал:На борту у сайта ocstore 3.0.2.0
29.07.2022 в 00:23, AlexMax13 сказал:Особенности браузера хром для ocstore 3.0.2.0
29.07.2022 в 00:23, AlexMax13 сказал:проблема на сайте
Вы всё время копаете не в ту сторону.
Опенкарт, как и ocStore ВООБЩЕ не определяет устройство, с которого Вы заходите на сайт. Эта часть заголовков ему не интересна, разве что Вы собственноручно установили како-то модуль/дополнение/скрипт, который может это делать. Но с вероятностью 99.99% подобные "определения" служат для других целей (адаптация, разные шапки, меню и прочее), но точно не для "убийства" сессии...
Как вариант - где-то в настройках Андроида включена опция - очищать историю браузера при закрытии. Т.е. при закрытии браузера очищается кеш. Логично, что в таком случае авторизация будет слетать.
ЗЫ. Начал писать это сообщение в 2:02 - в это время авторизовался с мобильного на Вашем сайте. Свернул браузер на 28 минут. И вот сейчас в 22:30 открыл браузер - я всё ещё авторизваон. Дополнительно отпишусь утром (если не забуду)
ЗЗЫ. Отправил вам в личку видео из которого видно, что проблема не в ocstore. -
28.07.2022 в 18:00, dubjik234 сказал:
выдает ошибку в синтаксисе запроса
Да. кавычки не те.
либо$this->db->query("DELETE `p1` FROM " . DB_PREFIX . "product_image p1, " . DB_PREFIX . "product_image p2 WHERE (p1.product_image_id < p2.product_image_id) AND (p1.image = p2.image)");
либо
$this->db->query("DELETE p1 FROM " . DB_PREFIX . "product_image p1, " . DB_PREFIX . "product_image p2 WHERE (p1.product_image_id < p2.product_image_id) AND (p1.image = p2.image)");
- 1
-
28.07.2022 в 17:29, Ch0oJoy сказал:
Есть модуль на сайте "Товары в табах"
Проще все подобные запросы (тяжелые) повесить на крон (например раз в час, в зависимости от продаж. ВОзможно Вам и раз в сутки хватит) и писать результаты в отдельную таблицу, например
oc_product_rating
Ну и модулем уже дёргать не из всей базы, нагружая её перебирая все товары и заказы, а брать рассчитанные значения непосредственно из таблицы.- 1
-
28.07.2022 в 17:53, dubjik234 сказал:
А сам запрос я правильно записал?
Как я писал выше - я так и не понял что этот запрос делает.
Но согласно синтаксису - всё правильно )- 1
-
28.07.2022 в 17:42, dubjik234 сказал:
Через phpmyadmin прекрасно работает,
Ну так в editProduct добавляйте. Причем учитывая сам запрос можно перед этим вставить:
$this->db->query("DELETE FROM " . DB_PREFIX . "product_to_download WHERE product_id = '" . (int)$product_id . "'");
Я всё ещё не понимаю зачем, но всё в Ваших руках
И да. Не забудьте обновить модификаторы после изменения модели. Это обязательно. -
28.07.2022 в 16:04, dubjik234 сказал:
Но я не могу разобраться
А кто Вам запрос составлял?
Бо DELETE table FROM table не укладывается в моей голове. Не могу понять логику запроса
Возможно, конечно, жара и я торможу, но интуиция подсказывает что "что-то тут не так".
OCFilter - Модуль фільтру товарів [Поддержка]
в Фильтры
Опубліковано:
Добрий. Знайшов помилку в коді. ocFilter 4.8.2
Після імпорту товарів запускаю скрипт, згенерований безпосередньо модулем:
// OCFilter copy start $this->load->controller('extension/module/ocfilter/copy', [ 'copy_attribute' => 1, // Копировать атрибуты 'copy_group_as_attribute' => 0, // Группы атрибутов как фильтры 'copy_attribute_id_exclude' => 0, // Данные для копирования 'copy_attribute_group_id_exclude' => 1, // Данные для копирования 'copy_attribute_category_id_exclude' => 1, // Данные для копирования 'copy_filter' => 0, // Копировать стандартные фильтры 'copy_option' => 0, // Копировать опции товаров 'copy_option_in_stock' => 1, // Только в наличии 'copy_type' => 'checkbox', // Тип скопированных фильтров 'copy_dropdown' => 0, // Поместить в выпадающий список 'copy_status' => 1, // Статус скопированных фильтров 'copy_truncate' => 0, // Очистить существующие фильтры OCFilter 'copy_category' => 1, // Привязать фильтры к категориям 'copy_cron_wget' => 0, // Команда для вызова по cron (планировщик) 'copy_value_separator' => ['|'], // 'copy_attribute_id' => ['127', '15', '70', '52', '73', '125', '12', '49', '121', '39', '13', '54', '23', '18', '154', '45', '68', '107', '47', '37', '42', '1', '19', '38', '71', '40', '17', '155', '44', '53', '78', '109', '112'], // 'copy_attribute_group_id' => [], // 'copy_attribute_category_id' => [], // ]); // OCFilter copy end
Но в ocfilter.log наступний текст:
2024-03-29 6:00:30 - [Attribute condition] WHERE attribute_id IN(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32)
якщо ж копіювати фільтри безпосередньо в модулі, то все корректно:
2024-03-29 5:32:56 - [Attribute condition] WHERE attribute_id IN(127,15,70,52,73,125,12,49,121,39,13,54,23,18,154,45,68,107,47,37,42,1,19,38,71,40,17,155,44,53,78,109,112)
Помилка була в admin/model/extension/module/ocfilter/filter.php
Замість:
$attributes_id = array_filter(array_unique(array_keys($data['copy_attribute_id'])), 'intval');
прописав:
$attributes_id = array_filter(array_unique($data['copy_attribute_id']), 'intval');