Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

djnick

Новачок
  
  • Публікації

    30
  • З нами

  • Відвідування

Про djnick

  • День народження 01.06.87

Інформація

  • Стать
    Мужчина

Відвідувачі профілю

1 071 перегляд профілю

djnick's Achievements

Contributor

Contributor (5/14)

  • First Post
  • Collaborator
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

0

Репутація

  1. Доброго дня. Несколько вопросов появилось по модулю: 1. Структура YML Файла: <?xml version="1.0" encoding="utf-8" standalone="yes"?> <!DOCTYPE yml_catalog SYSTEM "shops.dtd"> <yml_catalog date="2021-03-09 03:54"> <shop> <name></name> <company>ООО ""</company> <url>effe</url> <currencies> <currency id="" rate="1" /> </currencies> <categories> <category id="1">Люстра</category> </categories> <offers> <offer id="7464" available="false"> <name>Подвесной светильник MOD135PL-08BS</name> <vendor>Maytoni</vendor> <vendorCode>MOD135PL-08BS</vendorCode> <param name="Гарантия (лет)">2</param> <outlets> <outlet id="1" instock="0" /> </outlets> </offer> </offers> </shop> </yml_catalog> Я не совсем понял, мне, чтобы обновить товары надо выбирать действие всегда "XML/YML лесенкой" ? 2. Категории модуль создал (действием "создать категории"), правда пришлось руками перенести в общую родительскую, не нашел, где указать родительскую категорию для поставщика. 3. Иногда в файле встречается такое: <param name="Коллекция">Outdoor</param> <param name="Серия">Base</param> <param name="Технологии" /> <param name="Типы помещении" /> <param name="Код ТН ВЭД">9405990008</param> То есть тэг <param закрывается внутри себя, в виду отсутствия значения, похоже это где-т о ломает логику модуля. 4. Самое главное.... Директивы для php указал, которые рекомендованы в файле, но всё равно таймаут 504 и при обновлении страницы процесс начинается всегда заново. импортирует 2 первых товара, висит и всё. Всё это касается одного и того-же поставщика. Можно ли средствами модуля читать этот файл, без предварительной "прогонки" в блокнотах, так как хотелось бы обновлять с фида по крону и какие настройки еще в PHP указать?
  2. 1. Стандартный функционал опенкарта не подходит (импорт/экспорт БД) ? 2. PhpMyadmin на хостинге? (в расширенных настройках экспорта можно выбрать вроде деление по строкам) 3. Бэкап базы на хостинге ?
  3. Я делал вариант реализации, при котором пришлось расклонировать товары, товары, согласно опциям и перелинковать между собой модулем: Можно и без клонирования сделать, в контроллере ловить POST-ом опции и обрабатывать шаблоном... Но тут еще и SEO-pro сам править тогда придется... С клонированием и перелинковкой, с точки зрения SEO лучше.
  4. Доброго дня! Пытался прикрутить модуль к всплывающей форме заказа обратного звонка, прописал в контроллере о аналогии с ocmod файлом, добавил подклчение контроллера и модели и вызов функции валидации модуля... В логах записывает сообщение и спам пропускает, там идет передача методом POST в модуле... Возможно ли прикрутить?)
  5. В гите пришлось список версий вызвать и взять оттуда 1.4.7, установить её... Тогда в oc_setting залезли нужные строки с настройками модуля. Почему то 1.5.0 и 1.5.1 отказывается добавлять в настройки строки.
  6. В гите пришлось список версий вызвать и взять оттуда 1.4.7, установить её... Тогда в oc_setting залезли нужные строки с настройками модуля
  7. Доброго времени суток. Сможете подсказать? Стоит мегафильтр про плюс и автоскролл товаров. Если выбрать какой-либо из фильтров, то автокролл перестаёт работать. Если обновить страницу, то начинает снова работать. ДВа вопроса, можно ли как-то отследить событие обновления товаров после срабатывания фильтра? Чтобы автоскролл начал отслеживать скроллинг и подгружать? (я пробовал, отследить изменения дива с товарами получился бесонечный цикл, MFP бесконечно подгружал одно и то же). Или сделать так, чтобы фильтр срабатывал без AJAX обновления товаров, то есть при нажатии на фильтр страничка обновлялось... Может это предусмотрено стандартным функционалом...
  8. Если проект начнет приносить прибыль, то не проблема купить файловый хостинг на террабайт)) Если в основном контроллере добавить нужные функции прописать передачу данных помимо представления заодно и скрипту в 1м варианте ( скрипт подменяет заголовок картинкой) то по идее про прямом обращении это должно вызывать ошибку...
  9. Не делаю ресайз... Не кэширую картинки.. Места на хостинге мало, сайт в тестовом режиме, около 500000 позиций.
  10. Было у меня такое в 2.3 , когда установил криво сконвертированный модуль от предыдущей версии. Отображаться стал только он... Помогает удаление всех файлов модуля, либо доработка его.
  11. ДОброго времени суток всем. Кто может сказать, как скрыть адреса картинок реальные в опенкарт. Есть каталог, в нём картинки грузятся иногда с других серверов (ничего криминального, для экономии места на хостинге картинки не загружаются на хост) Хлтелось бы, чтобы юзеры не видели их реальный адрес... Ocstore 2.3 Костыль воткнул: В представлении: <img src="imageload.php?product_id=<?php echo $product_id; ?>"> В imageload.php <?php $product_id=$_GET['product_id']; $product_image_id=$_GET['product_image_id']; function getProductImage($product_id) { $mysqli = new mysqli(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE); $image=$mysqli->query("SELECT image FROM " . DB_PREFIX . "product WHERE product_id = '" . (int)$product_id . "'" )->fetch_object()->image; $mysqli->close(); return $image; } function getProductImages($product_image_id) { $mysqli = new mysqli(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE); $images=$mysqli->query("SELECT image FROM " . DB_PREFIX . "product_image WHERE product_image_id = '" . (int)$product_image_id . "' ORDER BY sort_order ASC" ); //$imagess=$images->fetch_array(); $mysqli->close(); return $images; } //$result = mysqli_query( $link, "SELECT image FROM " . DB_PREFIX . "product WHERE product_id = '" . (int)$product_id . "'" ); //$urlImg = $mysqli->query("SELECT image FROM " . DB_PREFIX . "product WHERE product_id = '" . (int)$product_id . "'"); //$urlImg = $result->row['product_id']; //$urlImg = getProductImages($product_id); //print $urlImg; //output value //$row = $results->fetch_array() //echo $urlImg; // print_r ($result); //"SELECT image FROM " . DB_PREFIX . "product_image WHERE product_image_id = '" . (int)$product_image_id . "' ORDER BY sort_order ASC" function my_url_encode($s){ $s= strtr ($s, array (" "=> "%20", "а"=>"%D0%B0", "А"=>"%D0%90","б"=>"%D0%B1", "Б"=>"%D0%91", "в"=>"%D0%B2", "В"=>"%D0%92", "г"=>"%D0%B3", "Г"=>"%D0%93", "д"=>"%D0%B4", "Д"=>"%D0%94", "е"=>"%D0%B5", "Е"=>"%D0%95", "ё"=>"%D1%91", "Ё"=>"%D0%81", "ж"=>"%D0%B6", "Ж"=>"%D0%96", "з"=>"%D0%B7", "З"=>"%D0%97", "и"=>"%D0%B8", "И"=>"%D0%98", "й"=>"%D0%B9", "Й"=>"%D0%99", "к"=>"%D0%BA", "К"=>"%D0%9A", "л"=>"%D0%BB", "Л"=>"%D0%9B", "м"=>"%D0%BC", "М"=>"%D0%9C", "н"=>"%D0%BD", "Н"=>"%D0%9D", "о"=>"%D0%BE", "О"=>"%D0%9E", "п"=>"%D0%BF", "П"=>"%D0%9F", "р"=>"%D1%80", "Р"=>"%D0%A0", "с"=>"%D1%81", "С"=>"%D0%A1", "т"=>"%D1%82", "Т"=>"%D0%A2", "у"=>"%D1%83", "У"=>"%D0%A3", "ф"=>"%D1%84", "Ф"=>"%D0%A4", "х"=>"%D1%85", "Х"=>"%D0%A5", "ц"=>"%D1%86", "Ц"=>"%D0%A6", "ч"=>"%D1%87", "Ч"=>"%D0%A7", "ш"=>"%D1%88", "Ш"=>"%D0%A8", "щ"=>"%D1%89", "Щ"=>"%D0%A9", "ъ"=>"%D1%8A", "Ъ"=>"%D0%AA", "ы"=>"%D1%8B", "Ы"=>"%D0%AB", "ь"=>"%D1%8C", "Ь"=>"%D0%AC", "э"=>"%D1%8D", "Э"=>"%D0%AD", "ю"=>"%D1%8E", "Ю"=>"%D0%AE", "я"=>"%D1%8F", "Я"=>"%D0%AF")); return $s; } if (isset($_GET['product_image_id'])){ $urlImgs=getProductImages($product_image_id); //print_r($urlImgs->fetch_array()); $imgrow = $urlImgs->fetch_array(); header('Location: '.$imgrow["image"]); } else { $urlImg = getProductImage($product_id); if ($urlImg == null) { $urlImg="/image/placeholder.png"; header('Location: '.$urlImg); } else { $urlImg = getProductImage($product_id); $urlImg2 = my_url_encode($urlImg); $Headers = @get_headers($urlImg2); // проверяем ли ответ от сервера с кодом 200 - ОК if(preg_match("|200|", $Headers[0]) or preg_match("|301|", $Headers[0]) ) { // - немного дольше :) //if(strpos('200', $Headers[0])) { header('Location: '.$urlImg); } else { $urlImg="/image/placeholder.png"; header('Location: '.$urlImg); } } } exit(); ?> Но проблема в том, что если нажать сохранить как на картинку или напрямую в адресной строке вбить Imageload.php?product_id=123 то естественно картинка открывается и видно адрес ресурса. Хочется сделать так, чтобы скрипт срабатывал только извне... Разнес по модели и контроллеру код Выдает PHP Fatal error: Class 'Controller' not found in .../productimg.php on line 2 Код контроллера: <?php class ControllerProductProductimg extends Controller { //private $error = array(); public function index() { $this->load->model('catalog/productimg'); $this->request->get['product_id']; $this->request->get['product_image_id']; function my_url_encode($s){ $s= strtr ($s, array (" "=> "%20", "а"=>"%D0%B0", "А"=>"%D0%90","б"=>"%D0%B1", "Б"=>"%D0%91", "в"=>"%D0%B2", "В"=>"%D0%92", "г"=>"%D0%B3", "Г"=>"%D0%93", "д"=>"%D0%B4", "Д"=>"%D0%94", "е"=>"%D0%B5", "Е"=>"%D0%95", "ё"=>"%D1%91", "Ё"=>"%D0%81", "ж"=>"%D0%B6", "Ж"=>"%D0%96", "з"=>"%D0%B7", "З"=>"%D0%97", "и"=>"%D0%B8", "И"=>"%D0%98", "й"=>"%D0%B9", "Й"=>"%D0%99", "к"=>"%D0%BA", "К"=>"%D0%9A", "л"=>"%D0%BB", "Л"=>"%D0%9B", "м"=>"%D0%BC", "М"=>"%D0%9C", "н"=>"%D0%BD", "Н"=>"%D0%9D", "о"=>"%D0%BE", "О"=>"%D0%9E", "п"=>"%D0%BF", "П"=>"%D0%9F", "р"=>"%D1%80", "Р"=>"%D0%A0", "с"=>"%D1%81", "С"=>"%D0%A1", "т"=>"%D1%82", "Т"=>"%D0%A2", "у"=>"%D1%83", "У"=>"%D0%A3", "ф"=>"%D1%84", "Ф"=>"%D0%A4", "х"=>"%D1%85", "Х"=>"%D0%A5", "ц"=>"%D1%86", "Ц"=>"%D0%A6", "ч"=>"%D1%87", "Ч"=>"%D0%A7", "ш"=>"%D1%88", "Ш"=>"%D0%A8", "щ"=>"%D1%89", "Щ"=>"%D0%A9", "ъ"=>"%D1%8A", "Ъ"=>"%D0%AA", "ы"=>"%D1%8B", "Ы"=>"%D0%AB", "ь"=>"%D1%8C", "Ь"=>"%D0%AC", "э"=>"%D1%8D", "Э"=>"%D0%AD", "ю"=>"%D1%8E", "Ю"=>"%D0%AE", "я"=>"%D1%8F", "Я"=>"%D0%AF")); return $s; } if (isset($this->request->get['product_image_id'])){ $urlImgs=$this->model_catalog_productimg->getProductImages($product_image_id); //print_r($urlImgs->fetch_array()); $imgrow = $urlImgs->fetch_array(); header('Location: '.$imgrow["image"]); } else { $urlImg = $this->model_catalog_productimg->getProductImage($product_id); if ($urlImg == null) { $urlImg="/image/placeholder.png"; header('Location: '.$urlImg); } else { $urlImg = $this->model_catalog_productimg->getProductImage($product_id); $urlImg2 = my_url_encode($urlImg); $Headers = @get_headers($urlImg2); // проверяем ли ответ от сервера с кодом 200 - ОК if(preg_match("|200|", $Headers[0]) or preg_match("|301|", $Headers[0]) ) { // - немного дольше :) //if(strpos('200', $Headers[0])) { header('Location: '.$urlImg); } else { $urlImg="/image/placeholder.png"; header('Location: '.$urlImg); } } } } } Может есть у кого мысли?
  12. В итоге клонировал модуль информации и на его основе написал сам аукцион)) Оказалось проще.. Систему ставок сделал по аналогии с системой отзывов о товарах...
  13. Доброго всем времени суток! Подскажите, может кто уже делал такое. Объясню, для чего нужно. У меня на сайте товары обновляет скрипт, удалет все товары и заливает из прайса. Хочу клонировать весь функционал товаров и на клон навешать аукцион, чтобы аукцион не цеплял товары... Я так прикинул, полопенкарта придется перекопать... Надо же клонить и категории и товары и все к ним сопутствующие темы... Или может у кого есть модуль аукциона на примете, который не затрагивает товары...
  14. В итоге решил записать переменные в куки в хедере if(!empty($this->request->get['utm_source'])) { setcookie('utm_source', $this->request->get['utm_source'], time()+604800, '/'); } else { $data['utm_source'] = 'Не определено'; setcookie('utm_source', 'Не определено', time()+604800, '/'); }; и потом нужном модуле вызвать $data['utm_source'] = $this->request->cookie['utm_source']; Насколько это корректно, подскажите пожалуйста.

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.