Перейти к содержанию

Glinda

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

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

  • Посещение

Репутация

0 Обычный

Информация о Glinda

  • Звание
    Продвинутый пользователь

Посетители профиля

2 009 просмотров профиля
  • Guava

  • Tom

  1. День добрый. Имеется мультимагазин (опенкарт 1.5.6,, в списке категорий планирую добавить ещё одно поле (наименование магазина, ибо неудобно в одной админке держать категории для всех магазинов и при этом не иметь возможности определить какая категория к какому магазину относится.) Вывод идёт в файле admin/view/template/catalog/category_list, путём выбора переменных из массива $category[ ], который в свою очередь формируется в admin/controller/catalog/category.php $category_total = $this->model_catalog_category->getTotalCategories(); $results = $this->model_catalog_category->getCategories($data); ..... $this->data['categories'][] = array( 'category_id' => $result['category_id'], 'name' => $result['name'], 'sort_order' => $result['sort_order'], 'selected' => isset($this->request->post['selected']) && in_array($result['category_id'], $this->request->post['selected']), 'action' => $action Так как опыта работы с запросами к БД нет, подскажите плз. как можно "вытащить" наименование магазина. Информация хранится в таблице oc_category_to_store в поле store_id. Заранее спасибо. Соответственно публичная ф-я в model/catalog получающая данные из базы: public function getCategories($data) { $sql = "SELECT cp.category_id AS category_id, GROUP_CONCAT(cd1.name ORDER BY cp.level SEPARATOR ' > ') AS name, c.parent_id, c.sort_order FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "category c ON (cp.path_id = c.category_id) LEFT JOIN " . DB_PREFIX . "category_description cd1 ON (c.category_id = cd1.category_id) LEFT JOIN " . DB_PREFIX . "category_description cd2 ON (cp.category_id = cd2.category_id) WHERE cd1.language_id = '" . (int)$this->config->get('config_language_id') . "' AND cd2.language_id = '" . (int)$this->config->get('config_language_id') . "'";
  2. Есть проект http://pdt1.seotime.su, необходимо: 1. Доработать функцию геоопределения На данный момент геоопределение происходит так, в файле banner.tpl (именно там происходит вывод баннера в зависимости от региона) прописана ф-я <? function geo_ip($ip='', $to = 'utf-8'){ $ip = ($ip) ? $ip : $_SERVER['REMOTE_ADDR'] ; $xml = simplexml_load_file('http://ipgeobase.ru:7020/geo?ip='.$ip); if($xml->ip->message){ if( $to == 'utf-8' ) {return $xml->ip->message;} else { if( function_exists( 'iconv' ) ) return iconv( "UTF-8", $to . "//IGNORE",$xml->ip->message);else return "The library iconv is not supported by your server";} } else { if( $to == 'utf-8' ) {return $xml->ip->region;} else {if( function_exists( 'iconv' ) ) return iconv( "UTF-8", $to . "//IGNORE",$xml->ip->region);else return "The library iconv is not supported by your server";}}} ?> далее идёт проверка определена ли ф-я if (function_exists('geo_ip')) { echo "Функция geo_ip определена.<br />\n";$ip=geo_ip();} else {echo "Функция geo_ip определена.<br />\n";} Определяется на ура, но проблема в том что через раз. Ошибка Fatal error: Cannot redeclare geo_ip() in /var/www/glinda/data/subdomain/pdt1/catalog/view/theme/gazal/template/module/banner.tpl on line 8. лечится очисткой кеша. 2. Боковое меню (список категорий), должно так же выводится в зависимости от региона. В Админке для каждой категории указывается регион 3. Боковое меню (список категорий) должно быть с пангинацией Нужны цены и сроки по всем пунктам.
  3. Я с json не сталкивался, то что вы написали это проверка на существование функции, насколько я понял, вот я написал реализацию на php.
  4. Т.е. ели правильно понимаю <?php if (function_exists('geo_ip')) { echo "Функция geo_ip определена.<br />\n";$ip=geo_ip();} else {echo "Функция geo_ip неопределена.<br />\n";} ?> проверяем определена ли ф-я, если да, то переменной ip присваиваем значение - результат ф-ции, если не определена, то ничего не делаем.
  5. Ан, нет, то же самое - название функции поменял и название переменной
  6. День добрый. Ест такая проблема с геолокацией. Использую ф-ю для определения <? function geoip($ip='', $to = 'utf-8'){ $ip = ($ip) ? $ip : $_SERVER['REMOTE_ADDR'] ; $xml = simplexml_load_file('http://ipgeobase.ru:7020/geo?ip='.$ip); if($xml->ip->message){ if( $to == 'utf-8' ) {return $xml->ip->message;} else { if( function_exists( 'iconv' ) ) return iconv( "UTF-8", $to . "//IGNORE",$xml->ip->message);else return "The library iconv is not supported by your server";} } else { if( $to == 'utf-8' ) {return $xml->ip->region;} else {if( function_exists( 'iconv' ) ) return iconv( "UTF-8", $to . "//IGNORE",$xml->ip->region);else return "The library iconv is not supported by your server";}}} ?> Вызываю её в /template/module/banner.tpl (именно там и планирую баннеры показывать по регионам) и вывожу на экран $var=geoip(); echo $var; Первый запуск всё хорошо, но после перезагрузки страницы пишет Fatal error: Cannot redeclare geoip() in ... Поставил условие если переменная var определена, то ф-я не вызывается. Однако это не помогает. Страница нормально грузится только после чистки кэша (и то не всегда). Почему эта ошибка возникает не могу понять, ф-я же определена (находится в том же файле откуда и вызывается)?
  7. Есть сайт, на CMS Opencart. Необходимо для категорий сделать "дополнительные изображения" по аналогии с продуктами. Интересует стоимость работы, по строкам насколько я понимаю, 2-3 часа.
  8. День добрый. Получаю значения из БД для категорий (файл catalog/controller/product/category) а именно значения $street (предварительно создав строку в таблице и загрузив значение через админку) путём $this->data['street'] = $category_info['street']; Здесь всё в порядке - работает. Но появилась задача вывести это значение в модуле special.php Я делаю следущее: • В catalog/controller/module/special.php определяю массив $category_info, путём $category_info = $this->model_catalog_category->getCategory($result['product_id']); , где $result['product_id'] - номер категории (определяется верно), но когда я смотрю переменную (вывожу через print_r) - пустой масив. Да, подключаю еще $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->data['street'] = $category_info['street']; Результат всё равно пустой массив. Что не так делаю в контроллере, подскажите?
  9. День добрый. Столкнулся с такой проблемой - необходимо вывести изображение в модуле новости на главную, по-умолчанию вывод идёт на полный текст новости. Вывод осуществляется в catalog/view/theme/default/template/information/news.tpl строками <div class="image"> <a href="<?php echo $popup; ?>" title="<?php echo $heading_title; ?>" class="colorbox" rel="colorbox"><img src="<?php echo $thumb; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" id="image" /></a> </div> Мне необходимо что бы картинка выводилась на главной, т.е. этот код вставляем в catalog/view/theme/default/template/module/news. Здесь вопросов не возникает. Далее необходимо определить переменную thumb в контроллере. В /catalog/controller/information/news определяется это строками $this->data['thumb'] = $this->model_tool_image->resize($banknews_info['image'], $this->config->get('banknews_thumb_width'), $this->config->get('banknews_thumb_height')); $this->data['popup'] = $this->model_tool_image->resize($banknews_info['image'], $this->config->get('banknews_popup_width'), $this->config->get('banknews_popup_height')); При копировании этих строк в /catalog/controller/module/news получаем ошибку о неопределённой переменной banknews_info. Подскажите как определить эту переменную? Полный код /catalog/controller/information/news ниже
  10. Решил проблему следующим способом - фильтрую по $parts $parts = explode('_', (string)$this->request->get['path'])
  11. Упс. Надо $this->request->get['path']; (вместо стрелки тире поставил). Теперь пишет неопределённая переменная. get. - Notice: Undefined property: Config::$get in /var/www/glinda/data/subdomain/legarta/catalog/controller/module/cr2htmlmodule.php on line 29Notice: Undefined property: Config::$get in /var/www/glinda/data/subdomain/legarta/catalog/controller/module/cr2htmlmodule.php on line 29
  12. Если в контроллере модуля пишу $this-request->get['path']; или один из предложенных вариантов, страница не грузится вообще. Сайт , идём в категорию допустим "белая сантехника" - белый экран. Файербаг пишет "NetworkError: 500 Internal Server Error - http://legarta.seotime.su/santehnika-creavit/belaya-santehnika" "
  13. Есть обычный модуль HTML, в его контроллере я проверяю на условие по URL и в зависимости от этого скрываю тот или иной HTML блок (в примере проверка одного условия) $URL = $_SERVER['REQUEST_URI']; if (strstr($URL, 'belaya-santehnika') != FALSE) { switch($position) { case "area1": $this->data['escape'] = "visible"; break; case "area2": $this->data['escape'] = "none"; break; case "area3": $this->data['escape'] = "none"; break; } } Теперь появилась задача проверять условия и по хлебным крошкам, т.е. типа если раздел такой-то, то выводим блок такой-то. Проблема в получении значений масива breadcrumbs в контроллере модуля. Пробовал так. $breadcrumbs = $this->document->breadcrumbs; print_r($breadcrumbs); Пишет неопределённая переменная. Хотя по идее перед исполнением модуля массив breadcrumbs должен сформироваться.
×

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

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