legko Опубликовано 9 июня, 2015 Жалоба Поделиться Опубликовано 9 июня, 2015 Народ помогите, облазил форум и документацию, но не нашел, как посмотреть значения переменных в шаблоне. Единственное, что накопал {$settings|var_dump}Меня интересует, что-то вроде {get_template_vars} - вывод всех значений переменных из шаблона, но к сожалению в Simpla не работает.Наверняка есть зарезервированные переменные типа {title}, {title_page} {head}, как узнать полный список? Цитата Ссылка на сообщение Поделиться на другие сайты
koteyka Опубликовано 9 июня, 2015 Жалоба Поделиться Опубликовано 9 июня, 2015 Зарегистрированных нет, кроме непосредственно зарезервированных smarty. Все переменные, передаваемые в шаблон объявляются в обработчиках (IndexView.php, ProductsView.php, IndexAdmin.php и т.д.) Значение в этих переменных можно посмтореть просто написав ее в шаблоне, типа {$title}. Если в переменной массив, то можно так {print_r({$my_array})} Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 9 июня, 2015 Жалоба Поделиться Опубликовано 9 июня, 2015 в любом нужном шаблоне пишем {debug} И после будет открываться всплывающее окно со всеми переменными что передаются в шаблон Цитата Ссылка на сообщение Поделиться на другие сайты
legko Опубликовано 10 июня, 2015 Автор Жалоба Поделиться Опубликовано 10 июня, 2015 Спасибо, воспользовался {debug}, помогает.А как мне значение переменной, к примеру {$meta_title} передать в PHP, для того чтобы с ним работать в /root/index.php? Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 10 июня, 2015 Жалоба Поделиться Опубликовано 10 июня, 2015 (изменено) Передать - никак. Если оно было ранее записано в шаблон посредством design->assign, то получить можно через$mt = $this->design->get_var('meta_title'); Скорее всего, Вы занимаетесь изобретением (кривого) велосипеда. Если бы Вы привели подробности своей задачи, то скорее получили бы совет, который бы облегчил Ваши нелегкие труды... Изменено 10 июня, 2015 пользователем Kors Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 10 июня, 2015 Жалоба Поделиться Опубликовано 10 июня, 2015 Если в переменной массив, то можно так {print_r({$my_array})}А еще можно и так {$my_array|print_r} даже проще Цитата Ссылка на сообщение Поделиться на другие сайты
legko Опубликовано 10 июня, 2015 Автор Жалоба Поделиться Опубликовано 10 июня, 2015 (изменено) Передать - никак. Если оно было ранее записано в шаблон посредством design->assign, то получить можно через$mt = $this->design->get_var('meta_title'); Скорее всего, Вы занимаетесь изобретением (кривого) велосипеда. Если бы Вы привели подробности своей задачи, то скорее получили бы совет, который бы облегчил Ваши нелегкие труды... Есть скрипт, учитывающий статистику посещения сайта. Скрипт работает на PHP. Часть кода этого скрипта помещается в php-файл, например index.php. В эту часть кода ему нужно передать НАЗВАНИЕ СТРАНИЦЫ. Т.е. выдернуть из CMS {meta_title} и передать это значение скрипту. На CMS Simple Made это делается приблизительно так: $captured_content = $gCms->smarty->get_template_vars('captured_content'); А здесь что-то никак не разберусь, {get_template_vars} ничего не показывает, существующие переменные через {debug} приходится смотреть.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Другой вариант - вставить в шаблон PHP-код, но где разрешить это действие в конфигурации я пока тоже не нашел. По дефолту конструкция {php}..........{/php} не работает Изменено 10 июня, 2015 пользователем legko Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 10 июня, 2015 Жалоба Поделиться Опубликовано 10 июня, 2015 Есть скрипт, учитывающий статистику посещения сайта. Скрипт работает на PHP. Часть кода этого скрипта помещается в php-файл, например index.php. В эту часть кода ему нужно передать НАЗВАНИЕ СТРАНИЦЫ. Т.е. выдернуть из CMS {meta_title} и передать это значение скрипту. На CMS Simple Made это делается приблизительно так: $captured_content = $gCms->smarty->get_template_vars('captured_content'); А здесь что-то никак не разберусь, {get_template_vars} ничего не показывает, существующие переменные через {debug} приходится смотреть. а почему вы не можете этот скрипт разместить в View ? Цитата Ссылка на сообщение Поделиться на другие сайты
legko Опубликовано 10 июня, 2015 Автор Жалоба Поделиться Опубликовано 10 июня, 2015 (изменено) а почему вы не можете этот скрипт разместить в View ? Спасибо, попробовал, но echo $meta_title; ничего не показывает (значит не считывает значение из CMS), хотя echo "AAAAAAA"; из файла View.php принтуется нормально.Я так понимаю, что значение переменной $meta_title все-равно нужно вытаскивать как-то так:$smarty->tpl_vars... чего дальше еще не разобрался ========================= UPD: не View.php не подходит, на главной странице получаю $meta_title, на других страницах нет. Изменено 10 июня, 2015 пользователем legko Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 10 июня, 2015 Жалоба Поделиться Опубликовано 10 июня, 2015 Спасибо, попробовал, но echo $meta_title; ничего не показывает (значит не считывает значение из CMS), хотя echo "AAAAAAA"; из файла View.php принтуется нормально.Я так понимаю, что значение переменной $meta_title все-равно нужно вытаскивать как-то так:$smarty->tpl_vars... чего дальше еще не разобрался вы также можете включить пхп код в шаблон с помощью тегов: {php}код{/php}. если у вас версия ниже 2.3.5, нужно включить поддержку php в шаблоне - Smarty/libs/Smarty.class.php найти public $allow_php_tag и поставить в true. чтобы включить поддержку в симпла >=2.3.5 идем в api/Design.php4я строка меняем на require_once(dirname(dirname(__FILE__)).'/Smarty/libs/SmartyBC.class.php'); 15ю строчку на $this->smarty = new SmartyBC()и уже дальше поставить флаг $allow_php_tag=true в Smarty/libs/Smarty.class.php найти public $allow_php_tag Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 10 июня, 2015 Жалоба Поделиться Опубликовано 10 июня, 2015 (изменено) index.php перед строкой: // Отладочная информацияделаем: $myvar = $view->design->get_var('meta_title'); var_dump($myvar); И дальше уже вставляете свой код и в него переменную $myvar Изменено 10 июня, 2015 пользователем yr4ik Цитата Ссылка на сообщение Поделиться на другие сайты
madison21 Опубликовано 22 апреля, 2018 Жалоба Поделиться Опубликовано 22 апреля, 2018 в любом нужном шаблоне пишем {debug} И после будет открываться всплывающее окно со всеми переменными что передаются в шаблон Ребят подскажите гв каком именно файле прописывать debug или print_r()И как выводить их, то есть какой адрес указывать в браузере?И в чём между ними разница? У меня задача посмотреть какие переменные я могу использовать в шаблоне для seo - title description keywords и h1хочу цену вытащить и одну из характеристик товара но не нашёл этих переменных Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 23 апреля, 2018 Жалоба Поделиться Опубликовано 23 апреля, 2018 (изменено) Ребят подскажите гв каком именно файле прописывать debug или print_r()И как выводить их, то есть какой адрес указывать в браузере?И в чём между ними разница? У меня задача посмотреть какие переменные я могу использовать в шаблоне для seo - title description keywords и h1хочу цену вытащить и одну из характеристик товара но не нашёл этих переменных {debug} пишите в любом месте нужного вам файла шаблона (как я понимаю вам нужен product.tpl). И там всплевет окно со всеми переданными в шаблон переменными. print_r и var_dump служат для вывода значения уже известно переменной (Пример: {$product|var_dump} ) писать их нужно так же в нужных шаблонах. цена будет: {$product->variant->price} (это цена основного варианта). Для свойств - потребуется делать перебор через foreach Изменено 23 апреля, 2018 пользователем yr4ik Цитата Ссылка на сообщение Поделиться на другие сайты
madison21 Опубликовано 23 апреля, 2018 Жалоба Поделиться Опубликовано 23 апреля, 2018 Большое в {debug} пишите в любом месте нужного вам файла шаблона (как я понимаю вам нужен product.tpl). И там всплевет окно со всеми переданными в шаблон переменными. print_r и var_dump служат для вывода значения уже известно переменной (Пример: {$product|var_dump} ) писать их нужно так же в нужных шаблонах. цена будет: {$product->variant->price} (это цена основного варианта). Для свойств - потребуется делать перебор через foreachБольшое вам спасибо за разъяснение.Уже научился смотреть переменные через debugИ за цену отдельно спасибо - всё работает.Только пока ешё принцип вытаскивания переменной не совсем понятен..пытался вытянуть переменную характеристики таким образом{$product->value->features->0->name}но эт я погорячился так не работаета foreach я ещё не освоил..как я понимаю это надо делать в другом файле.. Цитата Ссылка на сообщение Поделиться на другие сайты
Finlig Опубликовано 5 сентября, 2018 Жалоба Поделиться Опубликовано 5 сентября, 2018 Доброго времени суток. Почта Банк дал скрипт, и вот чото не могу осилить передачу ему стоимости товара... Simpla 2.3.6Сам скрипт выглядит так:<div id="pos-credit-container"></div><script src="https://my.pochtabank.ru/sdk/v1/pos-credit.js" type="text/javascript"></script><script type="text/javascript">// <![CDATA[ var options = { ttCode: 'тут код точки', ttName: 'тут ее адрес', fullName: '', phone: '', manualOrderInput: false, order: [ { price: вот тут должна быть стоимость, в симпле она в переменной {$product->variant->price} } ]};window.PBSDK.posCredit.mount('#pos-credit-container', options); // подписка на событие завершения заполнения заявки window.PBSDK.posCredit.on('done', function(id){ console.log('Id заявки: ' + id) }); // При необходимости можно убрать виджет вызвать unmount // window.PBSDK.posCredit.unmount('#pos-credit-container');// ]]></script>Подскажите, пжлс! Цитата Ссылка на сообщение Поделиться на другие сайты
chocolate_moles Опубликовано 5 сентября, 2018 Жалоба Поделиться Опубликовано 5 сентября, 2018 Подскажите, пжлс! Так в чем проблема? Так и пишите price: '{$product->variant->price}' Если у вас код в отдельном файле, создайте переменную <script> var price = '{$product->variant->price}'; </script> а в скрипте пишите price: price Цитата Ссылка на сообщение Поделиться на другие сайты
Finlig Опубликовано 6 сентября, 2018 Жалоба Поделиться Опубликовано 6 сентября, 2018 Так в чем проблема? Так и пишите price: '{$product->variant->price}' Если у вас код в отдельном файле, создайте переменную <script> var price = '{$product->variant->price}'; </script> а в скрипте пишите price: price Вот в том-то и дело, что order: [ { price: '{$product->variant->price}' } ]};не работает, банковский модуль просто не выводится. Если ему передавать order: [ { price: 200 } ]};то все работает, а с переменной не хочет. Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 6 сентября, 2018 Жалоба Поделиться Опубликовано 6 сентября, 2018 Вот в том-то и дело, что order: [ { price: '{$product->variant->price}' } ]};не работает, банковский модуль просто не выводится. Если ему передавать order: [ { price: 200 } ]};то все работает, а с переменной не хочет. Во-первых, такое может сработать только в файле .tpl. Где у Вас это делается, неизвестно.Во-вторых, чтобы сработало в файле .tpl, в него заранее должны быть переданы нужные данные.В-третьих, Ваш фрагмент явно неверный, так как товаров, вообще говоря, в заказе несколько, а у Вас указывается всегда один... Цитата Ссылка на сообщение Поделиться на другие сайты
Finlig Опубликовано 6 сентября, 2018 Жалоба Поделиться Опубликовано 6 сентября, 2018 Редактирую файл product.tpl через Шаблоны у админки. Должно сработать? Так как это шаблон вывода одного конкретного товара, то товар в заказе должен быть один (передаю в банк не корзину, а конкретный товар). "в него заранее должны быть переданы нужные данные." - если переменную {$product->variant->price} вставляю просто в код, то она вводится. В теле скрипта - не работает. ЧЯДНТ? Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 6 сентября, 2018 Жалоба Поделиться Опубликовано 6 сентября, 2018 А скрипт у вас в {literal}{/literal} ? Цитата Ссылка на сообщение Поделиться на другие сайты
Finlig Опубликовано 6 сентября, 2018 Жалоба Поделиться Опубликовано 6 сентября, 2018 {literal}{/literal} - при добавлении\удалении ничего не меняется... Цитата Ссылка на сообщение Поделиться на другие сайты
chocolate_moles Опубликовано 6 сентября, 2018 Жалоба Поделиться Опубликовано 6 сентября, 2018 {literal}{/literal} - при добавлении\удалении ничего не меняется... Может вы уже сайт покажете или полный код страницы? Цитата Ссылка на сообщение Поделиться на другие сайты
shooroop Опубликовано 6 сентября, 2018 Жалоба Поделиться Опубликовано 6 сентября, 2018 Может вы уже сайт покажете или полный код страницы? может еще автору приплатить. а то скучно тут на форуме Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 6 сентября, 2018 Жалоба Поделиться Опубликовано 6 сентября, 2018 :рукалицо: Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 7 сентября, 2018 Жалоба Поделиться Опубликовано 7 сентября, 2018 (изменено) Редактирую файл product.tpl через Шаблоны у админки. Должно сработать? Так как это шаблон вывода одного конкретного товара, то товар в заказе должен быть один (передаю в банк не корзину, а конкретный товар). "в него заранее должны быть переданы нужные данные." - если переменную {$product->variant->price} вставляю просто в код, то она вводится. В теле скрипта - не работает. ЧЯДНТ? Почти все ДНТ. Проблему описываете кое-как, обрывками, в стиле "Я вставляю вот это в КАКОЙ-ТО файл в КАКОЕ-ТО место". Тем самым пустяковый вопрос превращаете в сложную проблему... Если жалко выложить все подробности, то продолжайте вставлять. Сначала вставляйте после в 1-ой строки и смотрите результат. Если не решится вопрос, то пробуйте послк 2-ой, затем после 3-ей и т. д. Когда закончите, можно будет начать сначала, вставлять внутрь строки после N-го символа для всех имеющих смысл значений N. Потом пишете длинный-предлинный отчет... Причин может быть много разных. Например, причина может быть подобно такой http://forum.simplacms.ru/topic/11766-микроразметка-для-google/?p=105101 И гадать можно долго... Изменено 7 сентября, 2018 пользователем phukortsin Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.