Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

nogocuHoBuk

Пользователи
  • Публикаций

    353
  • Зарегистрирован

  • Посещение

Все публикации пользователя nogocuHoBuk

  1. nogocuHoBuk

    Перемикач на HTML

    Заскринил вопрос, скормил чатугпт, пришли с ним к красивому решению с горем пополам, но он отказался "делиться" перепиской, так как в ней есть изображения Пришлось повторно с толкача заводить. Но результат приемлемый. Ну а довести до нужно вам внешнего вида, не составит труда, думаю
  2. если то с вероятностью приближенной к 100% поле обрабатывается контроллером. в нём и можно глянуть откуда берётся значение. Вероятнее всего в БД сохранен адрес в конфигах для вывода в футере, например, или на каких-то доп. страницах.
    Навіть не знаю що ще можна додати. Встановив, налаштував - все працює. Підтримка на кращому рівні. Всі питання вирішуються миттєво. Дякую.
  3. Логично, но есть одно НО Тогда и на фронте будет отображаться та почта, с которой идёт отправка. А ему нужно чтобы отправлялось с одной но ему писали на другую (ту, что показана на сайте)
  4. Вам же только from нужно исправить, так что поправочка - 28 правок в 19 файлах:
  5. Добрый. Я так понимаю модуль всё? Или можно брать? Какая версия PHP и IonCube требуемая? PHP 7.3 IonCube 12.0.5 Заведется?
  6. По причине того, что поле 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 это почта.
  7. Масло масляное. Бесполезная строка не выполняющая ничего. В скрипте у Вас функция 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) именно категории, а не товара. Вы бы лучше первоначальную задачу описали, что именно Вы делаете?
  8. Я ж не писав "нашо вам таке на сайті?", а доволі точно задав питання : "нашо вам модуль?" Ваша побажанка це виправлення 3-х рядків коду вашої теми. Розумієте?
  9. Не зовсім зрозуміло навіщо модуль? Це ж стандартний функціонал опенкарту - рекомендовані товари в категорії: Різниця лише в тому, що показ цих товарів буде не картками, а списком - 2 рядки коду в twig. Тобто виводити назву та ціну замість повного змісту (фото, опис, наявніть й іньше) PS. Можливо ще знадобиться 3 рядки jquery докрутити, щоб була функція "приховати/показати", але то вже прикраси.
  10. nogocuHoBuk

    Страница 404

    А я разве это оспариваю? Просто Вы оказались быстрее))) Я не видел Вашего сообщения, пока не опубликовал своё)
  11. nogocuHoBuk

    Страница 404

    Капец вы тут понаписывали ) Ещё раз - не нужно никаких дополнительных кнопок и прочего. Основа уже есть - товар не в наличии. Осталось только в категории скрыть товары, которых нет в наличии: Одна строка в коде. Ответу 12 лет но актуальность его от этого не приуменьшилась Ну и модуль есть: И модуль и тема про опенкарт 1.5, но суть, я думаю, вы уловите если скачаете модуль и посмотрите что он делает (если есть навыки конечно)
  12. nogocuHoBuk

    Страница 404

    Не совсем понял (точнее совсем не понял) что Вы хотели увидеть при отключении товара? Ну вот есть товар, у него есть ссылка. Вы хотите но при этом Это как? Ну т.е. поисковик перешел по ссылке и что? Что на странице то показывать? Для СЕО лучше не отключать товар, а сделать невозможным его покупку. Т.е. установить количество равное 0 и запретить в настройках продажу при отсутствии. В этом случае товар открывается по ссылке. Но купить его нельзя (он псевдоотключен). Во всех других случаях - вполне ожидаемая 404. А 404 означает обязательное удаление из индекса. Пусть лучше пользователь перейдёт в карточку товара, которого нет в наличии и останется на сайте и, возможно, подберет у вас замену, чем вообще не попадёт к вам на сайт )))
  13. Если я правильно понял логику, то если я уберу строку мультиязычности, то Ваш скриппт не поймёт что pd.name_rozetka и pd.short_description нужно брать для language_id = 2, так как для ru у меня эти же поля, но с language_id = 1. А вот вариант с правками в структуре действительно правильней. Спасибо! Просто у меня там в настройках вот такое уже: Но сам факт того, что на основании кастомных полей, можно создать полноценную выгрузку - прям огонь. Ещё разбираюсь в настройках, так как некоторые из существующих полей тоже сделаны слегка рукожопно (те же pd.name_rozetka и pd.short_description) и вот думаю как это всё дело сделать красиво, чтобы было удобно добавлять новые выгрузки и так же легко их отключать.
  14. Угу. С этим разобрался. В цикле задал замену и unset В таком случае логичней бы было в 4.2 указывать в fields не просто значения а массив - поле-значение, т.е. как-то так: $data['lang_data'] = array('lang_id' => 2, 'fields' => ['name' =>'name_rozetka', 'description' => 'short_description']); Но это уже вкусовщина, да.
  15. Возник вопрос: В помощи написано У меня вместо 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 Подскажите, ЧЯДНТ. Сразу спасибо за ответы. По всему остальному, вроде, вопросов нет. )
  16. Вітаю. Чи є можливість відібрати товари за значенням поля в БД? Дивіться. Є реалізація додавання товарів до того чи іньшого фіда одним кліком (відео під спойлером): В БД велика кількість товарів і додавати їх безпосереднью в фід в модулі буде (мені здається) не дуже зручно. тобто вказати ((p.status_roz)) == '1' Чи, можливо, можна, наприклад, вказати функцію, як в модулі Simple. Тобто я напишу функцію get_ids_for_feed("rozetka") яка буде повертати потрібні product_id, і просто вкажу її. Чи то я забагато хочу?
  17. ХМ. У Вас же просто опис XML для offers. Классичний. Як ви дізнаєтеся досвід програміста за шматком шаблонного XML? Але то таке... На ваш розсуд Цитую: Нашо вам той FTP, якщо у "Таблеточки" э API? З повноцінним блек-джеком і шлюпками JSON замість застаріваючого з кожним днем XML? А якщо реалізувати звїязок через API, то початкове ТЗ в корні не вірне. Точніше вірне для того, хто зрозумів можливості "таблеточок" по своєму. Задля розуміння. Я не візьмусь, якшошо. Навіть не претендую на співпрацю, але просто вирішив залишити коментар відносно ТЗ і XML
  18. Вы всё время копаете не в ту сторону. Опенкарт, как и ocStore ВООБЩЕ не определяет устройство, с которого Вы заходите на сайт. Эта часть заголовков ему не интересна, разве что Вы собственноручно установили како-то модуль/дополнение/скрипт, который может это делать. Но с вероятностью 99.99% подобные "определения" служат для других целей (адаптация, разные шапки, меню и прочее), но точно не для "убийства" сессии... Как вариант - где-то в настройках Андроида включена опция - очищать историю браузера при закрытии. Т.е. при закрытии браузера очищается кеш. Логично, что в таком случае авторизация будет слетать. ЗЫ. Начал писать это сообщение в 2:02 - в это время авторизовался с мобильного на Вашем сайте. Свернул браузер на 28 минут. И вот сейчас в 22:30 открыл браузер - я всё ещё авторизваон. Дополнительно отпишусь утром (если не забуду) ЗЗЫ. Отправил вам в личку видео из которого видно, что проблема не в ocstore.
  19. Да. кавычки не те. либо $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)");
  20. Проще все подобные запросы (тяжелые) повесить на крон (например раз в час, в зависимости от продаж. ВОзможно Вам и раз в сутки хватит) и писать результаты в отдельную таблицу, например oc_product_rating Ну и модулем уже дёргать не из всей базы, нагружая её перебирая все товары и заказы, а брать рассчитанные значения непосредственно из таблицы.
  21. Как я писал выше - я так и не понял что этот запрос делает. Но согласно синтаксису - всё правильно )
  22. Ну так в editProduct добавляйте. Причем учитывая сам запрос можно перед этим вставить: $this->db->query("DELETE FROM " . DB_PREFIX . "product_to_download WHERE product_id = '" . (int)$product_id . "'"); Я всё ещё не понимаю зачем, но всё в Ваших руках И да. Не забудьте обновить модификаторы после изменения модели. Это обязательно.
  23. А кто Вам запрос составлял? Бо DELETE table FROM table не укладывается в моей голове. Не могу понять логику запроса Возможно, конечно, жара и я торможу, но интуиция подсказывает что "что-то тут не так".
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.