В дальнейшем будем предполагать, что у вас установлен веб-комплект Денвер и вы тестируете свой сайт на локальном компьютере под управлением Windows.
Вначале скачайте последнюю версию Smarty с сайта http://smary.php.net и распакуйте архив. Несмотря на обилие в архиве директорий и файлов, нас интересует лишь одна папка libs.
Создайте на диске Z, который автоматически подключается после установки Денвера, внутри home папку с именем вашего сайта и в нее добавьте папку libs. Далее создайте еще одну папку с именем smarty, внутри которой располагаются следующие подпапки: cache, config, templates, templates_c. Вся структура папок на примере сайта webimg.ru приведена ниже.
Z:homewebimg.ru
libs
smarty
cache
config
templates
templates_c
www
Имена на приведенной схеме не зря выделены жирным начертанием. Для этих папок необходимо установить права 770 [rwx rwx —] или 775 [rwx rwx r-x]. Поскольку под Windows подобные права никак не меняются, то этот пункт имеет важность только при переносе сайта под *nix-сервер.
Каждая из папок Smarty несет определенную нагрузку. Так, папка cache содержит кэшированные документы, предназначенные для ускорения работы сайта путем сохранения результатов в файлы. Config содержит конфигурационные настройки, templates это основная часть, содержащая все шаблоны, а templates_c ? скомилированные шаблоны. При этом содержимое двух папок ? cache и templates_c формируется автоматически.
В папке libs создайте файл setup.php, который будет содержать следующий код (пример 1).
Класс Smarty_WebImg носит имя, которое устанавливается по желанию. Учтите только, что оно будет применяться повсеместно. Далее идут пути ко всем служебным директориям Smarty.
Теперь создаем шаблон главной страницы сайта, назовем его index.tpl и сохраним в папке templates (пример 2).
Пример 2. Файл шаблона index.tpl <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 //EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1251"> <title>{$title}</title> </head> <body> <h1>Сайт WebImg.ru</h1> <p>Все работает!</p> </body> </html>
Это обычный HTML-документ, единственное, что его отличает, это переменная {$title}, она определяется в файле index.php, который располагается в папке www (пример 3).
Пример 3. Содержимое файла index.php <?php require ("/home/webimg.ru/libs/setup.php"); $smarty = new Smarty_WebImg; $smarty->assign("title", "Сайт WebImg.ru - главная страница"); $smarty->display("index.tpl"); ?>
Вначале следует обратиться к файлу setup.php, который располагается в папке libs, чтобы Smarty понимал, в каких папках следует искать шаблоны. Далее создаем экземпляр Smarty с именем Smarty_WebImg (вспоминаем, что ранее сами так его обозвали), при этом все настройки будут заданы автоматически.
Остается определить значение заданных в шаблоне переменных через метод assign и загрузить требуемый шаблон с помощью метода display.
Окончательно проверяем работу всех компонентов, загрузив в браузере сайт webimg.ru. Должна отобразиться страница с надписью ?Все работает!?.
Возможные ошибки при установке
Любые ошибки, возникающие при первой установке и настройки Smarty, как правило, связаны с невнимательностью и решаются проверкой всех компонент, а именно, файлов setup.php, index.tpl и index.php. Тем не менее, приведем некоторые типичные ошибки.
Warning: require(/home/webimg.ru/libs/setup.php) [function.require]: failed to open stream: No such file or directory in z:homewebimg.ruwwwindex.php on line 3
Вызываемый файл setup.php отсутствует в папке /home/webimg.ru/libs.
Fatal error: Class 'Smarty_WebImg' not found in z:homewebimg.ruwwwindex.php on line 5
Имя класса Smarty_WebImg упоминается три раза, два из них в файле setup.php и еще один в файле index.php. Проверьте, чтобы имена в этих документах писались одинаково.
Warning: Smarty error: unable to read resource: "index.tpl" in z:homewebimg.rulibsSmarty.class.php on line 1095
Ошибка в описании путей к требуемым директориям. Откройте файл setup.php и удостоверьтесь, все ли заданные в переменных папки существуют и правильно ли указан к ним путь.
Notice: Undefined variable: title in z:homewebimg.ruwwwindex.php on line 7
Скорее всего, переменная title записана как $title. Хотя в PHP все переменные определяются со знаком $ впереди, Smarty использует это правило не во всех случаях.
Fatal error: Smarty error: [in index.tpl line 5]: syntax error: unrecognized tag 'title' (Smarty_Compiler.class.php, line 580) in z:homewebimg.rulibsSmarty.class.php on line 1095
Здесь ситуация с точностью до наоборот, в файле index.tpl заголовок веб-страницы записан как {title} без знака $.
Заметим также, что если указанный заголовок вообще не отображается, то, скорее всего, переменная title задана неверно. Smarty в подобных случаях не выводит сообщение об ошибке, но и не показывает значение переменной.
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Здравствуйте, подскажите какой тег использовать для увеличения значения, пример на картинке.
Вроде, про такой тег я слышала. Если есть тег прогресс бар, значит и такое должно быть.
Question
Vlad
В дальнейшем будем предполагать, что у вас установлен веб-комплект Денвер и вы тестируете свой сайт на локальном компьютере под управлением Windows.
Вначале скачайте последнюю версию Smarty с сайта http://smary.php.net и распакуйте архив. Несмотря на обилие в архиве директорий и файлов, нас интересует лишь одна папка libs.
Создайте на диске Z, который автоматически подключается после установки Денвера, внутри home папку с именем вашего сайта и в нее добавьте папку libs. Далее создайте еще одну папку с именем smarty, внутри которой располагаются следующие подпапки: cache, config, templates, templates_c. Вся структура папок на примере сайта webimg.ru приведена ниже.
Z:homewebimg.ru
libs
smarty
cache
config
templates
templates_c
www
Имена на приведенной схеме не зря выделены жирным начертанием. Для этих папок необходимо установить права 770 [rwx rwx —] или 775 [rwx rwx r-x]. Поскольку под Windows подобные права никак не меняются, то этот пункт имеет важность только при переносе сайта под *nix-сервер.
Каждая из папок Smarty несет определенную нагрузку. Так, папка cache содержит кэшированные документы, предназначенные для ускорения работы сайта путем сохранения результатов в файлы. Config содержит конфигурационные настройки, templates это основная часть, содержащая все шаблоны, а templates_c ? скомилированные шаблоны. При этом содержимое двух папок ? cache и templates_c формируется автоматически.
В папке libs создайте файл setup.php, который будет содержать следующий код (пример 1).
Класс Smarty_WebImg носит имя, которое устанавливается по желанию. Учтите только, что оно будет применяться повсеместно. Далее идут пути ко всем служебным директориям Smarty.
Теперь создаем шаблон главной страницы сайта, назовем его index.tpl и сохраним в папке templates (пример 2).
Это обычный HTML-документ, единственное, что его отличает, это переменная {$title}, она определяется в файле index.php, который располагается в папке www (пример 3).
Вначале следует обратиться к файлу setup.php, который располагается в папке libs, чтобы Smarty понимал, в каких папках следует искать шаблоны. Далее создаем экземпляр Smarty с именем Smarty_WebImg (вспоминаем, что ранее сами так его обозвали), при этом все настройки будут заданы автоматически.
Остается определить значение заданных в шаблоне переменных через метод assign и загрузить требуемый шаблон с помощью метода display.
Окончательно проверяем работу всех компонентов, загрузив в браузере сайт webimg.ru. Должна отобразиться страница с надписью ?Все работает!?.
Возможные ошибки при установке
Любые ошибки, возникающие при первой установке и настройки Smarty, как правило, связаны с невнимательностью и решаются проверкой всех компонент, а именно, файлов setup.php, index.tpl и index.php. Тем не менее, приведем некоторые типичные ошибки.
Warning: require(/home/webimg.ru/libs/setup.php) [function.require]: failed to open stream: No such file or directory in z:homewebimg.ruwwwindex.php on line 3
Вызываемый файл setup.php отсутствует в папке /home/webimg.ru/libs.
Fatal error: Class 'Smarty_WebImg' not found in z:homewebimg.ruwwwindex.php on line 5
Имя класса Smarty_WebImg упоминается три раза, два из них в файле setup.php и еще один в файле index.php. Проверьте, чтобы имена в этих документах писались одинаково.
Warning: Smarty error: unable to read resource: "index.tpl" in z:homewebimg.rulibsSmarty.class.php on line 1095
Ошибка в описании путей к требуемым директориям. Откройте файл setup.php и удостоверьтесь, все ли заданные в переменных папки существуют и правильно ли указан к ним путь.
Notice: Undefined variable: title in z:homewebimg.ruwwwindex.php on line 7
Скорее всего, переменная title записана как $title. Хотя в PHP все переменные определяются со знаком $ впереди, Smarty использует это правило не во всех случаях.
Fatal error: Smarty error: [in index.tpl line 5]: syntax error: unrecognized tag 'title' (Smarty_Compiler.class.php, line 580) in z:homewebimg.rulibsSmarty.class.php on line 1095
Здесь ситуация с точностью до наоборот, в файле index.tpl заголовок веб-страницы записан как {title} без знака $.
Заметим также, что если указанный заголовок вообще не отображается, то, скорее всего, переменная title задана неверно. Smarty в подобных случаях не выводит сообщение об ошибке, но и не показывает значение переменной.
Link to comment
Share on other sites
3 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.