Jump to content

djnick

Новичок
  • Content Count

    26
  • Joined

  • Last visited

Community Reputation

0 Обычный

About djnick

  • Rank
    Пользователь

Recent Profile Visitors

522 profile views
  1. В гите пришлось список версий вызвать и взять оттуда 1.4.7, установить её... Тогда в oc_setting залезли нужные строки с настройками модуля. Почему то 1.5.0 и 1.5.1 отказывается добавлять в настройки строки.
  2. В гите пришлось список версий вызвать и взять оттуда 1.4.7, установить её... Тогда в oc_setting залезли нужные строки с настройками модуля
  3. Доброго времени суток. Сможете подсказать? Стоит мегафильтр про плюс и автоскролл товаров. Если выбрать какой-либо из фильтров, то автокролл перестаёт работать. Если обновить страницу, то начинает снова работать. ДВа вопроса, можно ли как-то отследить событие обновления товаров после срабатывания фильтра? Чтобы автоскролл начал отслеживать скроллинг и подгружать? (я пробовал, отследить изменения дива с товарами получился бесонечный цикл, MFP бесконечно подгружал одно и то же). Или сделать так, чтобы фильтр срабатывал без AJAX обновления товаров, то есть при нажатии на фильтр страничка обновлялось... Может это предусмотрено стандартным функционалом...
  4. Если проект начнет приносить прибыль, то не проблема купить файловый хостинг на террабайт)) Если в основном контроллере добавить нужные функции прописать передачу данных помимо представления заодно и скрипту в 1м варианте ( скрипт подменяет заголовок картинкой) то по идее про прямом обращении это должно вызывать ошибку...
  5. Не делаю ресайз... Не кэширую картинки.. Места на хостинге мало, сайт в тестовом режиме, около 500000 позиций.
  6. Было у меня такое в 2.3 , когда установил криво сконвертированный модуль от предыдущей версии. Отображаться стал только он... Помогает удаление всех файлов модуля, либо доработка его.
  7. ДОброго времени суток всем. Кто может сказать, как скрыть адреса картинок реальные в опенкарт. Есть каталог, в нём картинки грузятся иногда с других серверов (ничего криминального, для экономии места на хостинге картинки не загружаются на хост) Хлтелось бы, чтобы юзеры не видели их реальный адрес... 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); } } } } } Может есть у кого мысли?
  8. В итоге клонировал модуль информации и на его основе написал сам аукцион)) Оказалось проще.. Систему ставок сделал по аналогии с системой отзывов о товарах...
  9. Доброго всем времени суток! Подскажите, может кто уже делал такое. Объясню, для чего нужно. У меня на сайте товары обновляет скрипт, удалет все товары и заливает из прайса. Хочу клонировать весь функционал товаров и на клон навешать аукцион, чтобы аукцион не цеплял товары... Я так прикинул, полопенкарта придется перекопать... Надо же клонить и категории и товары и все к ним сопутствующие темы... Или может у кого есть модуль аукциона на примете, который не затрагивает товары...
  10. В итоге решил записать переменные в куки в хедере 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']; Насколько это корректно, подскажите пожалуйста.
  11. Это если непосредственно категория, которая в product, а в модуле изначально все категории и подкатегории выводятся.
  12. Попробуйте так: Файл: catalog\view\theme\ВАШ_ШАБЛОН\template\module\category.tpl <div id='cssmenu'> <ul> <?php foreach ($categories as $category) { ?> <li class='has-sub'><a href="<?php echo $category['href']; ?>"><span><?php echo $category['name']; ?></span></a> <?php if ($category['children']) { ?> <ul> <?php foreach ($category['children'] as $child) { ?> <li><a href="<?php echo $child['href']; ?>" ><span><?php echo $child['name']; ?></span></a></li> <?php } ?> </ul> <?php } ?> </li> <?php } ?> </ul> </div> CSS пихнуть в Style.css А javascript ближе к футеру.
  13. Не знаю, насколько правильно сделал, но работает. В контроллеры header и самого модуля добавил: if(!empty($this->request->get['utm_source'])) { $data['utm_source'] = $this->request->get['utm_source']; } else { $data['utm_source'] = '...'; }; а в скрипте вызова поменял: src: 'index.php?route=module/popup_call_phone', на src: 'index.php?route=module/popup_call_phone&utm_source=<?php echo $utm_source; ?>',
  14. Еще помучаю свой мозг сутки, если не допрет, куплю модуль)) а подключается он скриптом: <script type="text/javascript"> $(function() { $('body').prepend('<a onclick="get_popup_call_phone();" id="uptocall-mini"><div class="uptocall-mini-phone"></div></a>'); }); function get_popup_call_phone() { $.magnificPopup.open({ tLoading: '<img src="catalog/view/theme/sstore/stylesheet/popup_call_phone/ring-alt.svg" />', items: { src: 'index.php?route=module/popup_call_phone', type: 'ajax' } }); } </script> Так может передать как то можно переменные эти Ajax'ом...
×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.