Alexander25 Posted November 17, 2016 Share Posted November 17, 2016 Добрый день! Сделал дополнительное поле для товара, из админки все прописывается и на странице товара (product.tpl) отображается прописанное значение из бд, но есть затык, потому что нужно выводить данное поле еще и в корзине (shopping-cart-product-line.tpl) для каждого товара соответственно. В product.tpl выводится таким вот образом {$product->my_field}, то же самое пытаюсь сделать в shopping-cart-product-line.tpl и получаю такую ошибку - "Notice: Trying to get property of non-object in /home/admin/web/newhost.ru/public_html/tools/smarty/sysplugins/smarty_internal_templatebase.php(171) : eval()'d code on line 86" В программировании не силен, помогите пожалуйста. Link to comment Share on other sites More sharing options...
wagood Posted November 17, 2016 Share Posted November 17, 2016 Добрый день! Сделал дополнительное поле для товара, из админки все прописывается и на странице товара (product.tpl) отображается прописанное значение из бд, но есть затык, потому что нужно выводить данное поле еще и в корзине (shopping-cart-product-line.tpl) для каждого товара соответственно. В product.tpl выводится таким вот образом {$product->my_field}, то же самое пытаюсь сделать в shopping-cart-product-line.tpl и получаю такую ошибку - "Notice: Trying to get property of non-object in /home/admin/web/newhost.ru/public_html/tools/smarty/sysplugins/smarty_internal_templatebase.php(171) : eval()'d code on line 86" В программировании не силен, помогите пожалуйста. если вы его правильно добавили и он выводится в product.tpl, то по идее он и в shopping-cart-product-line.tpl должен выводится, может всё-таки кеш не почистили? Link to comment Share on other sites More sharing options...
Alexander25 Posted November 17, 2016 Author Share Posted November 17, 2016 если вы его правильно добавили и он выводится в product.tpl, то по идее он и в shopping-cart-product-line.tpl должен выводится, может всё-таки кеш не почистили? Почистил, дело насколько я понимаю в том что в контексте листинга товаров в корзине данный вывод работать не будет, нужно где то дописывать эту возможность, например чтобы она бралась из БД по product_id и выводилась, вывод подобных вещей в корзине, сделан например так {$product.name} (вывод названия товара) Link to comment Share on other sites More sharing options...
wagood Posted November 17, 2016 Share Posted November 17, 2016 (edited) Почистил, дело насколько я понимаю в том что в контексте листинга товаров в корзине данный вывод работать не будет, нужно где то дописывать эту возможность, например чтобы она бралась из БД по product_id и выводилась, вывод подобных вещей в корзине, сделан например так {$product.name} (вывод названия товара) {$product.my_field} ? в product.tpl обращение к объекту, а в shopcart к массиву Edited November 17, 2016 by wagood (see edit history) Link to comment Share on other sites More sharing options...
Alexander25 Posted November 17, 2016 Author Share Posted November 17, 2016 {$product.my_field} ? в product.tpl обращение к объекту, а в shopcart к массиву Я имел ввиду что вещи которые там уже выводятся по умолчанию, выводятся таким образом, например, название товара {$product.name}. Я пробовал выводить мое поле так же как и в product.tpl {$product->my_field} , так и {$product.my_field}. Я прошу прощения, в программировании не силен, но надеюсь на какую то помощь в том как мне можно реализовать то что я хочу. Получается мне нужно определить мое поле в некоем массиве? Где это делается? Возможно мне помогло бы понимание, того как реализован вывод названия товара в корзине. Link to comment Share on other sites More sharing options...
wagood Posted November 17, 2016 Share Posted November 17, 2016 За вывод товара в корзине отвечает функция getProducts в классе Cart. Там жёстко в запросе заданы те поля которые выводятся. Вам надо переопределить этот класс в папке /override и изменить запрос $sql->select('...') так чтобы туда попало ваше добавленное поле. Link to comment Share on other sites More sharing options...
Alexander25 Posted November 18, 2016 Author Share Posted November 18, 2016 За вывод товара в корзине отвечает функция getProducts в классе Cart. Там жёстко в запросе заданы те поля которые выводятся. Вам надо переопределить этот класс в папке /override и изменить запрос $sql->select('...') так чтобы туда попало ваше добавленное поле. В общем плане все ясно, но я не понимаю как правильно составить запрос в моем случае. На случай если мне сможет кто то помочь как составить такой запрос. Есть поле в таблице product_lang и мне нужно получать значение этого поля по product_id и выводить его в шаблоне shopping-cart-product-line.tpl, как составить запрос я не знаю, поскольку не силен в этом. Link to comment Share on other sites More sharing options...
wagood Posted November 18, 2016 Share Posted November 18, 2016 Ну это уже от того что там у вас в этом запросе, он может быть разный для разных версий, ориентировочно, что-то типа вместо p.`weight`, написать p.`weight`, p.`my_field` Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now