vlad4298

Вывод php запроса в YML файл

Рекомендуемые сообщения

vlad4298    0

Добрый день, уважаемые форумчане!

Сейчас работаю с модулем "Y.CMS от Яндекс.Кассы".

Есть вопрос по выводу значения указанного в бд с помощью PHP запроса.

 

Заметил, что неплохо бы добавить в модуль атрибут typePrefix, а то ругается поддержка Яндекса без него. Было принято решение это исправить. Так вот, добавил в базу данных новый столбец, добавил поле для категорий, в общем, теперь можно записать своё значение typePrefix в базу через менюшку категорий админки. С этим ок всё. 

Однако, нужно же и вывести это значение в YML список. 

В начале добавил typePrefix в разрешённые поля(изменял файл catalog/controller/feed/yamarket.php):

$allowed = array('url', 'price', 'currencyId', 'categoryId', 'picture', 'store', 'pickup', 'delivery', 'name', 'typePrefix', 'vendor', 'vendorCode', ‘model’...

Окей, работает. И теперь - момент истины: нужно вывести информацию, которая хранится в базе по адресу oc_category_description>type_prefix вот сюда:

$data['currencyId'] = $currency_default['code'];
      $data['categoryId'] = $product['category_id'];

      $data['typePrefix'] = $oc_category_description['type_prefix’]; //Здесь пытался вывести значение.

      $data['vendor'] = $product['manufacturer'];
      $data['vendorCode'] = $product['model']; 

Не работает. Какие бы изменения не делал.

Также пытался делать изменения в /catalog/model/yamodel.php, где идёт подключение к бд(насколько я понимаю). Тогда вообще часть с offer в выводе вообще пропадала. 

Оба файла:

1

2

 

Буду благодарен за вашу помощь!

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
shalan    40

$oc_category_description у вас не задается

должно быть примерно так

$category_description = $this->model_cataloc_category->getCategoryDescriptions($product['category_id']);//getCategoryDescriptions должна возвращать поле type_prefix
$data['type_prefix'] = $category_description['type_prefix']; 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
vlad4298    0

 

$oc_category_description у вас не задается

должно быть примерно так

$category_description = $this->model_cataloc_category->getCategoryDescriptions($product['category_id']);//getCategoryDescriptions должна возвращать поле type_prefix
$data['type_prefix'] = $category_description['type_prefix']; 

Добрый день, спасибо за помощь. Но не работает. Начинает передавать белый экран.

В PHP логах выдает следующую ошибку:

[11-Jul-2016 08:15:49 Europe/Berlin] PHP Fatal error:  Call to a member function getCategoryDescriptions() on null in /Applications/MAMP/htdocs/catalog/controller/feed/yamarket.php on line 25

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
shalan    40

Чтобы заработало, нужно подключить модель категорий.

$this->load->model('catalog/category'); 

И в этой модели, возможно, дописать получение type_prefix

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
nikifalex    361

model_cataloc_category

model_catalog_category

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
vlad4298    0

Чтобы заработало, нужно подключить модель категорий.

$this->load->model('catalog/category'); 

И в этой модели, возможно, дописать получение type_prefix

 

model_cataloc_category

model_catalog_category

 

Да, это всё сразу сделал, спасибо. Итого у меня получается такой код:

class ControllerFeedYamarket extends Controller {

	public function index()
	{

	$this->load->model('catalog/category');

	$category_description = $this->model_catalog_category->getCategoryDescriptions($product['category_id']);

foreach ($products as $product)
		{
	$data['typePrefix'] =  $category_description['type_prefix'];  
....

Ошибка:

[11-Jul-2016 13:48:08 Europe/Berlin] PHP Fatal error:  Call to undefined method ModelCatalogCategory::getCategoryDescriptions() in /Applications/MAMP/htdocs/catalog/controller/feed/yamarket.php on line 26

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
shalan    40

Попробуйте getCategory вместо getCategoryDescriptions

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
vlad4298    0

Попробуйте getCategory вместо getCategoryDescriptions

Пробую. Появился YML лист, но без typePrefix.
Вдело такие ошибки:
2016-07-11 19:08:03 - PHP Notice:  Undefined variable: product in /Applications/MAMP/htdocs/catalog/controller/feed/yamarket.php on line 26
2016-07-11 19:08:03 - PHP Notice:  Undefined index: type_prefix in /Applications/MAMP/htdocs/catalog/controller/feed/yamarket.php on line 87
Код в этих местах:
$category_description = $this->model_catalog_category->getCategory($product['category_id']);
$data['typePrefix'] =  $category_description['type_prefix'];  
 
 
Может быть не так указали адрес? Вот бд
Изменено пользователем vlad4298

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
shalan    40

у вас не определена переменная $product

вторая ошибка - следствие первой

Изменено пользователем shalan

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Похожий контент

    • От master1961
      Установка  opencart 2 требует cURL.  Хостинг по умолчанию не поддерживает. что делать?
    • От Siteapp
      Добрый день, имеется опенкарт Version 3.0.2.0.
      Пытаюсь вывести 3 уровень в каталоге. но чёт не выходит
      В контроле в меню имеется 
      <?php class ControllerCommonMenu extends Controller { public function index() { $this->load->language('common/menu'); // Menu $this->load->model('catalog/category'); $this->load->model('catalog/product'); $data['categories'] = array(); $categories = $this->model_catalog_category->getCategories(0); foreach ($categories as $category) { if ($category['top']) { // Level 2 $children_data = array(); $children = $this->model_catalog_category->getCategories($category['category_id']); foreach ($children as $child) { $children_data2 = array(); $children2 = $this->model_catalog_category->getCategories($child['category_id']); foreach ($children2 as $child2) { $children_data2[] = array( 'name' => $child2['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'href' => $this->url->link('product/category', 'path=' . $child['category_id'] . '_' . $child2['category_id']), ); } $filter_data = array( 'filter_category_id' => $child['category_id'], 'filter_sub_category' => true ); $children_data[] = array( 'name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']), 'children' => $children_data2, ); } // Level 1 $data['categories'][] = array( 'name' => $category['name'], 'children' => $children_data, 'column' => $category['column'] ? $category['column'] : 1, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } } return $this->load->view('common/menu', $data); } } А в шаблоне меню
      {% if categories %} <div class="container"> <nav id="menu" class="navbar"> <div class="navbar-header"><span id="category" class="visible-xs">{{ text_category }}</span> <button type="button" class="btn btn-navbar navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse"><i class="fa fa-bars"></i></button> </div> <div class="collapse navbar-collapse navbar-ex1-collapse"> <ul class="nav navbar-nav"> {% for category in categories %} {% if category.children %} <li class="dropdown"><a href="{{ category.href }}" class="dropdown-toggle" data-toggle="dropdown">{{ category.name }}</a> <div class="dropdown-menu"> <div class="dropdown-inner"> {% for children in category.children|batch(category.children|length / category.column|round(1, 'ceil')) %} <ul class="list-unstyled"> {% for child in children %} <li><a href="{{ child.href }}">{{ child.name }}</a> {% for child in child.children|batch(category.children|length / category.column|round(1, 'ceil')) %} <div class="child"> <ul class="list-unstyled"> {% for child2 in category.children_date|batch(category.child2|length / category.column|round(1, 'ceil')) %} <li><a href="{{ child2.href }}">{{ child2.name }}</a></li> {% endfor %} </ul></div> {% endfor %} </li> {% endfor %} </ul> {% endfor %}</div> <a href="{{ category.href }}" class="see-all">{{ text_all }} {{ category.name }}</a> </div> </li> {% else %} <li><a href="{{ category.href }}">{{ category.name }}</a></li> {% endif %} {% endfor %} </ul> </div> </nav> </div> {% endif %} Ошибка:
      Warning: array_chunk() expects parameter 1 to be array, null given in /home/user1094101/www/ps4games.by/system/library/template/Twig/Extension/Core.phpon line 1535
      На скрине вот так.
      Поставьте меня на путь пожалуйста

    • От albryana
      Здравствуйте, ищу исполнителя по задачкам на сайт harica.ru
      Был создан по шаблону, теперь нужен программист, который сможет поддерживать сайт, настраивать доп. модули, консультировать по доработкам.
      На данный момент стоит задача настройки веб аналитики и небольшие настройки модулей, страниц.
      Очень хочется найти специалиста, заинтересованного в продолжительном сотрудничестве.
    • От sergei298
      Интересует доработки Интернет-магазина (cms opnecart) на постоянной основе. есть несколько сайтов.
      Сео специалист пишет тз которое необходимо внедрять, реализовывать..
      контакты для связи: skype -  live:sergei298 , или пишите свои
      email - lanfix@mail.ru
      Интересуют расценки и ваш опыт работы с opencart. нужен именно грамотный специалист, с новичками которые "сломают и пропадают" сайт уже намучился..
      Специалист должен быть на связи, и если что-то вдруг перестанет работать оперативно это исправить в том числе..
       
       
    • От pikitos

      2 299.00 руб
      Скачать/Купить дополнение


      2.x Revolution. Адаптивный универсальный шаблон
       
      Демонстрация:
      Магазин техники Apple Магазин авто-запчастей Магазин пиццерии Магазин авто-товаров (пример 1) Магазин авто-товаров (пример 2) Магазин одежды и обуви Магазин косметики Админка доступ: demo / demo Ссылка на валидатор Ссылка на PageSpeed  
      Как купить и очень легко и быстро установить шаблон и начать работать показано на видео. Видео старое и качество огонь..
      Так же прошу учитывать мой часовой пояс: + 4 часа к Московскому времени (GMT+7). Это если вдруг у вас вечер, а ответа все нет, будет утром.
      !Внимание: Для шаблона начиная с версии 2.0 должны быть установлены на сервере - PHP версии 5.4 и выше + Ioncube Loader версии 5.0 и выше.
      Чтобы узнать вашу версию php и ioncube, скачайте файл, распакуйте, загрузите к себе в корень сайта и откройте по адресу http://ваш-сайт.ru/myinfo.php
      Шаблон Revolution - это результат многолетнего опыта работы с cms opencart и сферой e-commerce в целом. Главная идея - чистота, минимализм и выделение товара на главный план. Любое решение в шаблоне обосновано.
      Настройки шаблона продуманы и взаимосвязаны. В шаблоне продуманы многие мелочи. Если товара нет в наличии, быстрый заказ не доступен (но его можно включить, есть опция). Возможность использовать магазин как каталог, без кнопки купить и корзины в пару кликов. Если корзина стоит всплывающая, то убирается "стрелка вниз" на Корзине покупок указывающая на ее корзины. Меняется сортировка товаров в зависимости от доступности товара для заказа. И тому подобные взаимосвязи.
       
      Функционал:
      2 типа меню каталога товаров: Amazon меню и горизонтальное выпадающее. Быстрый поиск в шапке сайта с возможностью выбора категории поиска. Заказ обратного звонка в шапке сайта. Дополнительные контакты. Новые страницы каталога: Новинки и Хиты продаж. Встроенный модуль новостей с выбором товаров для новости. Отзывы на магазин. Информационные блоки на главной странице. 6 настраеваемых слайдеров товаров. Новинки, Хиты продаж, Акции и 3 пользовательских слайдера. Виджет vk на главной странице. Настраевыемые сортировки в каталоге товаров. Автоматические настраевыемые стикеры товаров: новинка, хит продаж, акция. Быстрый заказ товара. Полностью переделана страница сравнения товаров. Теперь она адаптивная, выбор параметров сравнения, идет сравнение товаров по категории, кнопка показа только отличий. Меняются и сохраняются кнопки после добавления товаров в сравнение или закладки. 3 вид отображения товаров в каталоге. Всплывающая корзина. Быстрый просмотр товара. В закладки добавление без регистрации. Выбор вывода характеристик в карточке товара с ограничением. Выбор какие данные показывать в карточке товара. В карточке товара зум для фото и слайдер дополнительных фото. Дополнительные вкладки для всех товаров с настройками. Дополнительные вкладки отдельно для каждого товара. Отображение новостей в карточке товара к которым он прикреплен. Подписка на новости, с выбором пользователей для рассылки в админке. Иконки социальных сетей в подвале сайта. Иконки платежных систем в подвале сайта. В контактах карта формируется автоматически из адреса. Внимание! На сайте auto.oc-mod.ru и moda.oc-mod.ru показана адаптация для модулей: Simple - упрощенная регистрация и заказ; filter Pro. В состав шаблона входит только адаптация для этих модулей (в архиве с шаблоном в папке "_Фиксы для других модулей"). Микро-разметка. ... еще много чего (допишется позже). Лицензия:
      Шаблон можно приобрести на форуме и запросить лицензионный ключ в личном сообщении, написав домен на котором он будет использоваться. Шаблон можно использовать только на одном домене. + Выдается ключ на тестовый домен. В след. версиях добавиться:
      Поддержка мультимагазина И что еще нужно пишите.. Включена адаптация для популярных модулей:
      Модуль Simple - упрощенная регистрация и заказ filter Pro более полное описание добавится попозже...
      .
      Добавил pikitos Добавлено 05.06.2016 Категория Платные шаблоны Системные требования PHP v5.4+ и Ioncube Loader v5.0+ Сайт разработчика oc-mod.ru Старая цена Метод активации По запросу в ЛС
      По запросу на почту
      По скайпу
      По емейлу
      Через официальный сайт дополнения Ioncube Loader Требуется OpenCart 2.3
      2.2
      2.1 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1  
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу