![]() |
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]() ![]() ![]() |
|
niaz |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 22.7.2006 Репутация: нет Всего: нет |
Уже давно не могу понять как рализовать 2 решения!
1) передавать в assign не переменню а код php чтобы он сначала выполнился передался шаблону для вывода: (примерное такое)
1) передавать в assign не переменню а код php чтобы он выполнился в шаблоне: (примерное такое)
Я знаю что можно добавить код php в шаблон методом {php}{/php}. Но я же не могу воткнуть весь код сайта в шаблон. |
||||
|
|||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: нет Всего: 32 |
код надо сначала выполнить, получить его результат в переменную, и эту переменную передавать в смарти.
неужели это не является очевидным при просмотре любых примеров приложений, работающих со смарти? |
|||
|
||||
solenko |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: нет Всего: 67 |
1. Можете объяснить зачем вы используете smarty?
2. Можете привести реальный пример того, что вы спрашиваете? -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
niaz |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 22.7.2006 Репутация: нет Всего: нет |
Примеры приложений я не нашел. Добавлено через 1 минуту и 45 секунд
1.) Смарти использую для шаблона своего портала. А вы что все делаете без шаблона? Можете привести пример? 2.) Пример я привел выше в первом посте. |
||||
|
|||||
solenko |
|
||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: нет Всего: 67 |
niaz, А зачем вам шаблон? Я не использую шаблонов, но суть не в этом.
А в первом примере вы привели двух сферических коней. Например
эквивалентно
Это сообщение отредактировал(а) solenko - 15.8.2008, 09:47 -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
||||
|
|||||
Anarki |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 14.3.2005 Репутация: нет Всего: 11 |
Смысла в echo "test" тут нет, нужно в php скрипте подготавливать данные для вывода в шаблон
Чтобы код выполнился в шаблоне только через {php}{/php}, а вообще зачем он там нужен не хватает что ли конструкций смарти? ![]() |
|||
|
||||
Feldmarschall |
|
||||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: нет Всего: 32 |
niaz, http://www.smarty.net/manual/ru/
там есть примеры. но суть я, по-моему, уже объяснил. не
это, надеюсь, не слишком сложно для понимания? Это сообщение отредактировал(а) Feldmarschall - 15.8.2008, 11:21 |
||||
|
|||||
niaz |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 22.7.2006 Репутация: нет Всего: нет |
Нверное я неправильно выразился! Ну ладно попробую еще раз все обьяснить:
Вот сам код шаблона:
А вот теперь сам код сценария smarty:
Мне охота выполнить в сценарии какой либо код либо функцию, чтобы результат вышел в шаблоне в блоке ($content). Код может быть любой: данные из базы, или отправка почты и .т .п. У меня есть страницы статистические, т.е. содержание не меняется, тогда я просто через:
просто передаю весь html теги данных и все. если я в шаблоне укажу {php}{/php} то ведь шаблон будет расти, и у страниц ведь разные коды. Точнее говоря я пишу портал: там есть обьявления, новости, фотки и все такое. А шаблон ведь один. Я же не могу весь код портала занести в {php}{/php} в шаблоне. Сами подумайте что тогда получиться. Пожалуйста обьясните по подробней. Это сообщение отредактировал(а) niaz - 15.8.2008, 11:33 |
||||||
|
|||||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: нет Всего: 32 |
Ты не ответил на вопрос, зачем тебе смарти.
"он мне нужен для шаблона" - это не ответ. судя по всему, ты не понимаешь, для чего нужны шаблоны. В этом случае тебе вообще не нужно ими пользоваться. "шаблон" тебе нужен для того, чтобы не писать 10 раз <html xmlns="http://www.w3.org/1999/xhtml">? ну так возьми свой "шаблон", пропиши в него все свои титлы и кейворды, и просто инклюдь в свой портал.
вот и все. |
|||
|
||||
niaz |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 22.7.2006 Репутация: нет Всего: нет |
Шаблон мне нужен чтобы дизайн страниц был одинаков. Прикинь если на сайте 200 страниц и в каждом прописан дизайн. А если захочешь поменять стиль одной буквы или таблицы, тогда ваще пипец. Вот и использую чтобы дизайн отделить от програмного кода пхп. Можно уже дизайн менять одним кликом если нужно. А ты сам как делаешь? Или ваще ничего сам не пробовал создавать? |
|||
|
||||
niaz |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 22.7.2006 Репутация: нет Всего: нет |
вы не поняли меня! Повторю вопрос снова!
Вот приведу пример синтаксиса Smarty:
и приведу код шаблона.
мне охота чтобы функция test() выполнилась и результат отображался в шаблоне в переменной {$content} Добавлено через 3 минуты и 48 секунд Не уж то в Smarty нет простого решения. Как тогда пользуется весь мир? Вроде внимательно прочитал весь мануал! Наверное есть один выход, написать свой шаблонизатор! Раньше так и делал. Не надо было переходить в Смарти. |
||||
|
|||||
solenko |
|
||||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: нет Всего: 67 |
Добавлено через 2 минуты и 10 секунд
Есть еще более верное решение -- написать свой php -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
||||||
|
|||||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: нет Всего: 32 |
solenko, очень, очень умное решение. Шаблоны и буфферинг только для этого и придуманы были.
|
|||
|
||||
niaz |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 22.7.2006 Репутация: нет Всего: нет |
а как передать такой код? ob_get_contents() - ом не получается, почему то код выполняется 2 раза!
|
|||
|
||||
solenko |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: нет Всего: 67 |
Feldmarschall, естественно для этого! А вы сомневались? А что, их можно еще для чего-то использовать?
Выше 10 упоминаний того, как сделать правильно. В моем последнем посте одно упоминание того как сделать правильно. Человек хочет делать неправильно -- это его проблеммы. -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: нет Всего: 32 |
solenko, вместо того, чтобы ставить человека костыли, да еще и вниз головой, надо ему объяснить, что он не понимает, что такое шаблон. Он не знает, что у страницы тоже бывает шаблон, так же, как у всего сайта. Он сделал шапку, назвал её шаблоном, и не хочет ничего больше слушать. Полагая, что знает больше всех.
Так вот, ему надо объяснять, что в данном случае смарти ему нужен, как рыбке зонтик. Если он не использует его по назначению, для шаблонов страниц. Одного не послушал - может быть, к 10 прислушается. А с твоим подходом - давай, рассказывай ему, как целиком готовый скрипт, со всеми его запусками, засунуть в шаблон сайта. |
|||
|
||||
niaz |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 22.7.2006 Репутация: нет Всего: нет |
вы не поняли меня! у меня на сайте один шаблон страницы! приведу пример
вот он (просто скопировал без внутренних менюшек и прочемм) index.tpl:
мне хочеться чтобы результат следующего кода был в {$content} . Ребята может я и php плохо знаю. Но очень надо пишу для себя крупный портал и пишу уже давно. Не хотелось бы все переписывать! вот код сценария целиком:
это один из страниц Добавлено через 48 секунд Надеюсь теперь вы меня поймете, чего на самом деле я хочу. |
||||
|
|||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: нет Всего: 32 |
об этом и речь. его никто не понимает. его.
сам он вообще ничего не слышит, даже не читает. а вот его - такого гениального, и с уникальными проблемами - никто не понимает. жестокие бессердечные люди. |
|||
|
||||
niaz |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 22.7.2006 Репутация: нет Всего: нет |
Feldmarschall ты не прав. Я да признаю что не верно написал. Говорят "хочешь услышать умный ответ, задай умный вопрос". Вот с эти у меня проблемы, наверное я не могу спросить красиво. В последнем посте я уже полностью привел код. У меня ваще такое чувство что кроме меня нафиг никто не использует Smarty. Так мало примеров в инете и форумов нет (кроме английского на оф сайте). Я все внимательно читаю и пробую. Я уже весь смарти разворотил. Может все решается какой то функцией самого php который мне не известен. Честно говоря уже голова кругом. |
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: нет Всего: 32 |
Я тебе в третий раз повторяю - тебе не нужен шаблонизатор смарти. Ты просто не понимаешь, зачем он нужен.
Этот ы его не используешь, а не "все". Та "волшебная функция", о которой ты говоришь - это нарисовать шаблон страницы отправки емейла в смарти! То есть, переделать весь твой "портал". Чего ты, разумеется, не хочешь. В этом случае я предлагаю тебе самое простое решение - отказаться от смарти вообще. |
|||
|
||||
solenko |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: нет Всего: 67 |
Feldmarschall, ну что ж, попробуй занятся просвятительной работой а не сказать "я ценю свое время", как обычно.
//ушел за попкорном niaz, Я удивляюсь, почему так мало инфы по использованию персональных компьютеров для вспашки земли. Такое впечатление, что только я использую в качестве плуга системник. http://www.smarty.net/manual/ru/language.f...ion.include.php вы этот раздел документации читали? Не натолкнуло на мысль, что можно иметь более одного шаблона? -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
niaz |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 22.7.2006 Репутация: нет Всего: нет |
solenko да я читал этот раздел! И честно говоря в данное время так и поступаю! Но тогда приходиться держать десятка файлов шаблона. А я хочу оставить шаблон только 1 и все.
|
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: нет Всего: 32 |
Не "приходится". Держать десяток файлов шаблона - это именно то, для чего были придуманы шаблонизаторы.
Если тебе не хочется - нет проблем - не используй шаблонизатор вовсе. То, что тебе нужно, делается двумя инклюдами. |
|||
|
||||
niaz |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 22.7.2006 Репутация: нет Всего: нет |
Feldmarschall ты прав! Я раньше инклудил и хотел попробовать раз все блоги и форумы хвалили этот шаблонизатор. Но оказалось полезного там нет, а все наоборот муторно раз никто им не пользуется. Придется все переписывать и переделывать, думаю за месяцев 4 закончу. Спасибо всем кто помагал и советовал. Но тему оставлю открытым, вдруг кто найдет решение и надумает поделиться.
|
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: нет Всего: 32 |
Полезное там есть. Ты просто не понимаешь, для чего нужен шаблонизатор.
Он нужен для того, чтобы разделить логику приложения и отображения. А ты думаешь, что он нужен для того, чтобы сделать шапку сайта в одном файле. Со временем поймешь. Возможно. |
|||
|
||||
niaz |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 22.7.2006 Репутация: нет Всего: нет |
Вот я и вернулся написать ответ. Почему то к сожалению либо модератор либо администратор удалил мои посты в другой теме. Раз никто из здешних профессионалов не смогли ответить, решил искать ответ сам. И знаете как советовал Фельдмаршал сам догадался.
Все очень просто, если хотите чтобы ваш php код обрабатывался в шаблоне то надо сделать следующее: весь php код вписываете в функцию в синтаксисе Smarty:
а в шаблоне пишем следующее:
и все. Фельдмаршал, теперь обращаюсь тебе, пожалуйста не сори постами мою тему. |
||||
|
|||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
niaz, насчет функции - это, надеюсь, шутка?
|
|||
|
||||
niaz |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 22.7.2006 Репутация: нет Всего: нет |
Почему шутка? В чем? А какое решение этой проблемы у тебя? |
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: нет Всего: 32 |
Этот топик интересен уже не в области технологии, а в области столкновения мировоззрений.
С одной стороны мы имеем мировоззрение "все можно понять, если стараться". С другой - "я все знаю лучше всех". Отсюда и разность подходов. С одной стороны - "попробуем так объяснить. попробуем эдак рассказать" С другой - "Я! Задал! Вопрос! Как сделать, чтобы 2х2 было равно 5!!! Кто не может ответить - тот ничего не понимает" Ну, и закономерный результат: - все лохи, а я нашел правильный ответ: написать функцию function twobytwo () { return 5 } Я думаю, в таких случаях надо менять методологию ответов. |
|||
|
||||
niaz |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 22.7.2006 Репутация: нет Всего: нет |
Я не считаю никого лохом! У меня даже такой и мысли небыло. Теперь у меня есть мысля другая: "Никто не использует в своих проектах такой похвальный Smarty". И сразу отвечаю почему:
Потому что если бы кто то пользовался бы смарти он бы обязательно столкнулся бы моей проблемой! И думаю если кто то знал бы ответ то бы сразу помогли. А тут вместо помочь мне говорят зачем тебе смарти лошара, пользуйся инклудом. Да чуть не забыл: Я нашел еще один вариант моего решения, надо вывести весь код в отдельный файл только вписать ее в {php}{/php} и подключить в синтаксис fetch ом. Но я свой следующий проект буду делать на инклудах! Это самое правильное решение! |
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: нет Всего: 32 |
||||
|
||||
niaz |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 22.7.2006 Репутация: нет Всего: нет |
Может быть!
|
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: нет Всего: 32 |
Эти твои "может быть" - пустые слова.
Ты сначала соглашаешься, что можешь быть неправ, а потом выдаешь перл еще похлеще. Ты так и не понял, зачем нужны шаблонизаторы, и смарти в частности. Не понимая, зачем нужны шаблонизаторы, ты берешься судить тыщи людей, которые шаблонизаторами пользуются. У тебя даже не возникает мысли, что если тыщи что-то видят, а ты не видишь - что неправ можешь быть ты, а не они. Нет. единственный вывод, который ты делаешь - смарти фигня, никто не пользуется. Потому что все не понимаю того же, что и ты. Ну не смешно ли? |
|||
|
||||
niaz |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 22.7.2006 Репутация: нет Всего: нет |
Раз не понимаю что ж не обьяснил зачем шаблонизатор? Раз ползовался значит видел выгоду! А эти тысяча людей которые пользуются, что то не один не помог, и ты в их числе. Вместо того помочь ты начал допрос устравивать и говорит зачем тебе смарти. Я ведь не спрашивал пользоватся мне смарти или нет! а спросил конкретно проблему!
Сам небось из языков только русский язык знаешь? А ПХП , перл и си первый раз слышишь! ![]() Это сообщение отредактировал(а) niaz - 22.8.2008, 13:12 |
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: нет Всего: 32 |
фантастическое сочетание невежества и наглости
|
|||
|
||||
skyboy |
|
||||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
потому что не обязан.
с такой проблемой люди не сталкиваются, потому что имеют такую структуру системы, при которой надобности в подобных фокусах попросту не возникает. о том, как должна выглядеть система тебе писали в самом начале. ты сказал, что для тебя количество файлов важнее логичности и структурированности. Вот и получил, что хотел.
|
||||
|
|||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Libraries | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |