Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

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


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

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

Сейчас работаю с модулем "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

 

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

 

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


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

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

$category_description = $this->model_cataloc_category->getCategoryDescriptions($product['category_id']);//getCategoryDescriptions должна возвращать поле type_prefix
$data['type_prefix'] = $category_description['type_prefix']; 
  • +1 1
Ссылка на комментарий
Поделиться на других сайтах


 

$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
Ссылка на комментарий
Поделиться на других сайтах


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

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

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

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах


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

$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
Ссылка на комментарий
Поделиться на других сайтах


Попробуйте 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
Ссылка на комментарий
Поделиться на других сайтах


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

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

Изменено пользователем shalan
Ссылка на комментарий
Поделиться на других сайтах


  • 1 год спустя...

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

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

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