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

fofa

Користувачі
  
  • Публікації

    170
  • З нами

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

Усі публікації користувача fofa

  1. 1. Структура БД 2 таблицы _like _like_description _like строки​model image date_available date_added date_modified status sort_order like_id _like_description строкиlike_id language_id name description count_like tag meta_title meta_description meta_keyword 2. Модель <?php class ModelAgoolikelike extends Model { public function getlike($like_id) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "like WHERE like_id = '" . (int)$like_id . "'"); return $query->rows; } public function getlikeDescriptions($like_id) { $like_description_data = array(); $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "like_description WHERE like_id = '" . (int)$like_id . "'"); return $query->rows; } } 3. Контроллер <?php class ControllerModulLike extends Controller { public function index() { $this->load->model('modul/like'); if (isset($this->request->get['like_id'])) { $like_id = $this->request->get['like_id']; } else { $like_id = 0; } $data['likes'] = array(); $results = $this->model_agoo_like_like->getlike($like_id); // вывод foreach ($results as $result) { $data['likes'][] = array( 'like_id' => $result['like_id'], 'name' => $result['name'], 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_like_description_length')) . '..' ); } if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/modul/like/like.tpl')) { return $this->load->view($this->config->get('config_template') . '/template/modul/like/like.tpl', $data); } else { return $this->load->view('default/template/modul/like/like.tpl', $data); } } }
  2. наверно $_GET (если я правильно понял разницу между методами) Где находится значение? в БД И если вы уже инициализировали переменную $like_id, ее и передавайте не понял логики действий. В таблице БД есть столбец с like_id. Я хотел вывести данные по аналогии с моделью и контроллером product. В контроллере product и там в обращениях к функциии getProduct стоит аргумент $product_id, внутри функции есть строчка $query = $this->db->query("SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT points FROM " . DB_PREFIX . "product_reward pr WHERE pr.product_id = p.product_id AND customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "') AS reward, (SELECT ss.name FROM " . DB_PREFIX . "stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "') AS stock_status, (SELECT wcd.unit FROM " . DB_PREFIX . "weight_class_description wcd WHERE p.weight_class_id = wcd.weight_class_id AND wcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS weight_class, (SELECT lcd.unit FROM " . DB_PREFIX . "length_class_description lcd WHERE p.length_class_id = lcd.length_class_id AND lcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS length_class, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT COUNT(*) AS total FROM " . DB_PREFIX . "review r2 WHERE r2.product_id = p.product_id AND r2.status = '1' GROUP BY r2.product_id) AS reviews, p.sort_order FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) WHERE p.product_id = '" . (int)$product_id . "' AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'"); Если аргумент из функции удалить, то вылезает ошибка что (int)$product_id из строчки выше не известен. Не понятно, почему нельзя обойтись без указания аргументов
  3. Модулю нужно данные из БД вывести во view в виде массива: Заголовок картинка описание число лайков (потом прикручу механизм увеличения лайков, чтобы люди могли лайкать) Сделал так if (isset($this->request->get['like_id'])) { $like_id = $this->request->get['like_id']; } else { $like_id = 0; } $data['likes'] = array(); $results = $this->model_modul_like->getlike($like_id); Ошибка исчезла, но данные не выводятся. Вывести хотя бы заголовок ['name'], Я правильно понял, что get использовать когда нужно извлечь данные с БД, а post - когда внести?
  4. Не получается вывести данные из БД в виде массива Вот модель public function getlike($like_id) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "like_description WHERE like_id = '" . (int)$like_id . "'"); return $query->rows; } Вот контроллер public function index() { $this->load->model('modul/like'); if (isset($this->request->post['like_id'])) { $like_id = $this->request->post['like_id']; } else { $like_id = 0; } $data['likes'] = array(); $results = $this->model_modul_like->getlike($this->request->get['like_id']); foreach ($results as $result) { $data['likes'][] = array( 'like_id' => $result['like_id'], 'name' => $result['name'], 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_like_description_length')) . '..' ); } if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/modul/like/like.tpl')) { return $this->load->view($this->config->get('config_template') . '/template/modul/like/like.tpl', $data); } else { return $this->load->view('default/template/modul/like/like.tpl', $data); } ​} Пишет ошибку Notice: Undefined index: like_id in /catalog/controller/modul/like.php on line 14 Подскажите пожалуйста, что делать?
  5. Я правильно понял, что $results = $this->model_modul_like->getLikeDescriptions($like_id); обращается к переменной $like_id внутри функции getLikeDescriptions?
  6. Делаю модуль по аналогии с другими модулями В контроллере модуля есть строчка $results = $this->model_modul_like->getLikeDescriptions($like_id); В модели есть строчка public function getLikeDescriptions($like_id) На сайте вылезает ошибка Notice: Undefined variable:like_id in /catalog/controller/modul/like.php on line 8 Вопрос, в чем суть ($like_id), т.е. для чего он нужен, как работает и как его правильно указывать?
  7. Как настроить, чтобы некоторые товары отображались всем, но могли купить только зарегистрированные пользователи, занесенную в специальную группу?
  8. Нужен программист c опытом работы от 2-х лет, который поделится знаниями о принципах создания модуля Opencart 2.0, подводных камнях, ответит на вопросы и проверит корректность кода. Плачу 500 руб/час. Оплата производится 50% перед занятием и 50% после окончания. Skype: fof_fa
  9. К вам обращаются за помощью. А если вы вместо помощи лезете в мои отношения с заказчиком - видимо родители не научили, что совать нос куда не просят нехорошо. Мне деваться некуда, придется разобраться с модулем
  10. Здравствуйте Делаю модуль по голосованию, за основу взял код заполнения товаров, только вместо товаров участники с одной картинкой. Язык: русский Логика: админ заходит в модуль, заполняет имя участника, описание, указывает картинку. На сайте выводится список картинок с именами и лайками и пользователи лайкают Проблема в том, что при сохранении в админке выходит ошибка Notice: Undefined index: mymodul_description in //admin/model/module/mymodul.php on line 14Warning: Invalid argument supplied for foreach() in /admin/model/module/mymodul.phpon line 14Warning: Cannot modify header information - headers already sent by (output started at /admin/index.php:84) in /system/library/response.php on line 12 Вот код, на который ссылается ошибка: foreach ($data['mymodul_description'] as $language_id => $value) { $this->db->query("INSERT INTO " . DB_PREFIX . "mymodul_description SET mymodul_id = '" . (int)$mymodul_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', description = '" . $this->db->escape($value['description']) . "', tag = '" . $this->db->escape($value['tag']) . "', meta_title = '" . $this->db->escape($value['meta_title']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "'"); } Я так понял, базе не понятно, какое значение должно быть у $language_id. Как быть?
  11. Кто нибудь может посоветовать, как верстать для "белки" (UC Browser)? В опере, яндекс.браузере, хроме нормально отображается, а в "белке" все съезжает. Проверял разные верстки: те, что сам верстал и те, что по умолчанию (свежеустановленный движок)
  12. Спасибо, получилось сделать воспроизведение gif. А можно сделать так, чтобы управление размерами фото осталось и гиф воспроизводился?
  13. С Новым годом! :-) С Рождеством! Загрузил через ftp флеш баннер .swf. Как в фотографиях товара его отобразить?
  14. Часто встают задачи размещения блоков модулей в других местах. Например из header нужно перенести в content_top или наоборот. Если использовать javascript, то при загрузке видно, как модуль скачет по странице, что меня не устраивает. Поэтому блок делаю для того, чтобы понять как устроен механизм магазина и потом обходиться без javascript. Если модули не увидят этот блок, значит будем разбираться.
  15. В шаблоне home.tpl помимо content_top, column_left, column_right и content_bottom нужно добавить блок servicerow2 сделал следующие шаги: 1. добавил строку в catalog/controller/common/home.php $data['servicerow'] = $this->load->controller('common/servicerow2'); 2 добавил файл \catalog\controller\common\servicerow2.php c кодом <?php class ControllerCommonServicerow2 extends Controller { public function index() { $this->load->model('design/layout'); if (isset($this->request->get['route'])) { $route = (string)$this->request->get['route']; } else { $route = 'common/home'; } $layout_id = 0; if ($route == 'product/category' && isset($this->request->get['path'])) { $this->load->model('catalog/category'); $path = explode('_', (string)$this->request->get['path']); $layout_id = $this->model_catalog_category->getCategoryLayoutId(end($path)); } if ($route == 'product/product' && isset($this->request->get['product_id'])) { $this->load->model('catalog/product'); $layout_id = $this->model_catalog_product->getProductLayoutId($this->request->get['product_id']); } if ($route == 'information/information' && isset($this->request->get['information_id'])) { $this->load->model('catalog/information'); $layout_id = $this->model_catalog_information->getInformationLayoutId($this->request->get['information_id']); } if (!$layout_id) { $layout_id = $this->model_design_layout->getLayout($route); } if (!$layout_id) { $layout_id = $this->config->get('config_layout_id'); } $this->load->model('extension/module'); $data['modules'] = array(); $modules = $this->model_design_layout->getLayoutModules($layout_id, 'servicerow2'); foreach ($modules as $module) { $part = explode('.', $module['code']); if (isset($part[0]) && $this->config->get($part[0] . '_status')) { $data['modules'][] = $this->load->controller('module/' . $part[0]); } if (isset($part[1])) { $setting_info = $this->model_extension_module->getModule($part[1]); if ($setting_info && $setting_info['status']) { $data['modules'][] = $this->load->controller('module/' . $part[0], $setting_info); } } } if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/servicerow2.tpl')) { return $this->load->view($this->config->get('config_template') . '/template/common/servicerow2.tpl', $data); } else { return $this->load->view('default/template/common/servicerow2.tpl', $data); } } } 3 добавил файл \catalog\view\theme\default\template\common\servicerow2.tpl c кодом <?php foreach ($modules as $module) { ?> <?php echo $module; ?> <?php } ?> 4 вставил строчку в файл catalog\view\theme\default\template\common\home.tpl <?php echo $servicerow2; ?> на странице сайта выходит ошибка Notice: Undefined variable: servicerow2 in /var/www/u0128313/data/www/grc-security.ru/catalog/view/theme/default/template/common/home.tplon line 6 Уважаемые специалисты, подскажите, что я делаю не так?
  16. Хостер включил функцию php mail, но уведомления не заработали. Хотя письмо через форму "Напишите нам" приходит.
  17. Нужно, чтобы налог уже учитывался в цене товара, а не прибавлялся к ней. А то мы вбили все цены и перебивать их за вычетом НДС врукопашную как-то не айс. Нашел такое решение https://opencartforum.com/topic/7711-nalog-v-tcene-tovara-v-korzine-i-pri-oformlenii-za/ Кто нибудь пробовал его на opencart 2.0.3.1? Или подскажите свое решение
×
×
  • Створити...

Important Information

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