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

echo $product['stock_status'] - выводит числа

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

Собственно, проблемка в заголовке. В tpl нужно вывести статус товара при остутсвии на складе (типа, "под заказ", "ожидается поступление" и т.д.) 

Вписываю echo $product['stock_status'] - выводит целочисленные значения - 5, 8, 9 и т.д. А нужно вывести соответсвующий текст, который прописан каждому товару.

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


Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, chamaerops сказал:

Собственно, проблемка в заголовке. В tpl нужно вывести статус товара при остутсвии на складе (типа, "под заказ", "ожидается поступление" и т.д.) 

Вписываю echo $product['stock_status'] - выводит целочисленные значения - 5, 8, 9 и т.д. А нужно вывести соответсвующий текст, который прописан каждому товару.

Вы сами писали код ???? Есле да то в таблице product колонка stock_status имеет значение ID по которому + в придачу id языка вытягивается название статуса для примера посмотрите в product а еще лучше пользуйтесь функционалом модели catalog/product там уже все готово 

  • +1 1

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


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

Да понятно, что немало. 

Ну к примеру, category.tpl . В контроллере соответствующая переменная есть. Но, как оказывается, содержит она не строку, а соответствующее целочисленное значение.

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


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, konorws сказал:

Вы сами писали код ???? Есле да то в таблице product колонка stock_status имеет значение ID по которому + в придачу id языка вытягивается название статуса для примера посмотрите в product а еще лучше пользуйтесь функционалом модели catalog/product там уже все готово 

Нет, писал не я. Да и эти статусы ж в системе задаются. Я просто пока не очень представляю, как их вытянуть в tpl. 

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


Ссылка на сообщение
Поделиться на другие сайты
6 минут назад, chamaerops сказал:

Нет, писал не я. Да и эти статусы ж в системе задаются. Я просто пока не очень представляю, как их вытянуть в tpl. 

Прежде чем попасть в tpl она обрабатывается в Controller и Model 

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


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, konorws сказал:

Прежде чем попасть в tpl она обрабатывается в Controller и Model 

Про контроллер то я в курсе. Я оттуда и взял то переменную  $product['stock_status']  полагая, что там уже содержится нужное значение. 

Я в программировании на уровне "со словарем" )) Я ж могу в контроллере category.php обратится к модели product? Насколько я вижу, там все что мне нужно из базы вытягивается.

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


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

Matvei

 

Если делать так, то складские статусы нужно прописать languages. А можно задействовать те, которые есть в базе, и которые, например, можно выставлять в том же Batch Editore. 

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

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


Ссылка на сообщение
Поделиться на другие сайты
8 минут назад, chamaerops сказал:

Про контроллер то я в курсе. Я оттуда и взял то переменную  $product['stock_status']  полагая, что там уже содержится нужное значение. 

Я в программировании на уровне "со словарем" )) Я ж могу в контроллере category.php обратится к модели product? Насколько я вижу, там все что мне нужно из базы вытягивается.

да чтоб обратится к модели продукт нужно ее загрузить в контролер есле это еще не зделано но есле это категория тогда это 100% сделано тогда ображаетесь по принципу

$this->model_catalog_product->Нужный_Метод()

  • +1 1

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


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, Matvei сказал:

catalog/language/russian/russian.php
// Text
$_['text_stock']        = 'Нет в наличии';
$_['text_instock']      = '<span style="color:#fff; background: #00b300 none repeat scroll 0 0;">В наличии</span>';
$_['text_minstock']     = '<span style="color:#fff; background: #00b300 none repeat scroll 0 0;">Мало</span>';

а сюда добавить на англ не судьба? 

catalog/language/english/english.php

 

 

так вы тогда только усуглубляете ситуацию тем что у нас возвращается только параметр stock_status который содержит ID из базы а не key для language как в вашем варианте

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


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

Matvie

вы не поняли - зачем мне вручную прописывать статусы в языковые файлы, если можно задействовать те, что уже хранятся в базе? При том, что этими статусами я уже могу оперировать в прочем функционале системы.

Метод , который konorws предлагает, более правильный. Спасибо за наводку, такого ответа ждал. Отпишусь, как доведу до ума.

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


Ссылка на сообщение
Поделиться на другие сайты
20 минут назад, chamaerops сказал:

Matvie

вы не поняли - зачем мне вручную прописывать статусы в языковые файлы, если можно задействовать те, что уже хранятся в базе? При том, что этими статусами я уже могу оперировать в прочем функционале системы.

Метод , который konorws предлагает, более правильный. Спасибо за наводку, такого ответа ждал. Отпишусь, как доведу до ума.

Как варинат вы можете розширить функционал модели Products своим методом который будет вам возвращать значение статуса.

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


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

Скажите какая у вас версия движка я вам сейчас напишу метод вы его вставите

  • +1 1

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


Ссылка на сообщение
Поделиться на другие сайты
24 минуты назад, chamaerops сказал:

OC 2.1.0.1

ок чуть позже скину

  • +1 1

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


Ссылка на сообщение
Поделиться на другие сайты
3 часа назад, chamaerops сказал:

OC 2.1.0.1

public function getStockStatus($status_id){
 $result = $this->db->query('SELECT name AS stock_status FROM '.DB_PREFIX.'stock_status WHERE stock_status_id = "'.(int)$status_id.'" AND language_id = "'.(int)$this->config->get('config_language_id').'"');
 return (($result->num_rows) ? $result->row['stock_status'] : false);
}

 

  • +1 2

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


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

Ай, спасибо!! Не сразу додумался, как в контроллер его всунуть (точнее, какой параметр передать) - уже туплю под конец дня. 

Но потом догнал, что туда надо $result['stock_status'] передать - все заработало, как хотел.

Преогромнейшее спасибо :eek:

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


Ссылка на сообщение
Поделиться на другие сайты
39 минут назад, chamaerops сказал:

Ай, спасибо!! Не сразу додумался, как в контроллер его всунуть (точнее, какой параметр передать) - уже туплю под конец дня. 

Но потом догнал, что туда надо $result['stock_status'] передать - все заработало, как хотел.

Преогромнейшее спасибо :eek:

да верно только это в модель нужно всунуть запомните с базой рабюотать только в моделях для того они и созданы

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


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

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

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

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

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

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

Войти

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

Войти

  • Последние посетители   0 пользователей онлайн

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

×

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

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