П`ятниця, 26.04.2024, 18:11 | RSS | Приветствую Вас Гість
Главная | Регистрация | Вход
Створення
Просування
Оптимізація
Ми переїхали!!!
Нова адреса сайту http://buildsait.pp.ua/
Главная
Меню сайта
Категории раздела
Підготовка до створення сайта [8]
Добре спроектований проект, буде створити простіше та швидше. Сюди відноситься: вибір тематики сайта, практичні поради для початківців і ін...
Установка програм [9]
Список необхідних програмних інструментів для створення web-проектів (сайтів). Інструкції по установці програм і посилання на дистрибутиви.
Приклад створення web-сайту [12]
Опис практичного прикладу створення конструкції web-сайту. Практичний приклад створення web-сайту.
Хостинг і домен [7]
Поняття хостингу і домену. Опис видів хостингу, їх порівняння і правила вибору оптимального хостингу. Як правильно підібрати ім'я домену...
Оптимізація web-сайту [7]
Оптимізований під пошукові системи web-сайт забезпечує високі позиції, швидку індексацію сторінок і, як результат, більшу кількість відвідувачів.
Розкручення web-сайту [9]
Опис основних видів і способів розкручення web-сайту. Опис різноманітних факторів, які впливають на позицію отриманих сторінок web-сайту при пошуковому запиті.
Заробіток web-майстра [6]
Опис основних видів заробітку web-майстрів, власників сайтів. Опис деяких партнерських програм, спосіб їх ефективного використання.
Joomla, Drupal, Wordpress [3]
Статті про CSM Joomla, Drupal та Wordpress
Joomla [4]
Матеріали пов'язані з використанням Joomla
Wordpress [1]
Матеріали пов'язані з використанням Wordpress
Drupal [1]
Матеріали пов'язані з використанням Drupal
Поиск
Наші спонсори
Тут може бути розміщена Ваша реклама

Главная » Статьи » Приклад створення web-сайту

6. Використання smarty
Використання smarty при створенні сайту

   Як написано у Вікіпедії smarty - це оброблювач, що компілює шаблони для PHP - один з інструментів, що дозволяють відокремити прикладну логіку й дані від дизайну.

   А, говорячи простою мовою, це означає наступне. Як Ви знаєте, сайт складається з різних інформаційних блоків (новини, навігаційне меню, реклама, посилання) і просто графічного зображення (дизайну). Навіть сам основний контент сайту, це всього лише блок, що містить індивідуальний текст для кожної сторінки сайту.
   Тепер уявіть собі, кожний такий блок зберігається у звичайній змінній, а змінна вставляється у звичайну html сторінку, і в результаті виходить унікальна сторінка. А унікальна вона тим, що в кожну сторінку вставляється змінна, яка має відмінне від попередньої сторінки значення.
   У такий спосіб і працює шаблонова технологія smarty. У Вас є шаблон гарно оформленої html сторінки, але без текстового наповнення. Текст Ви можете, наприклад, одержувати з бази даних, заносити його в змінну, потім змінну вставляти в оформлену html сторінку й видавати її користувачеві. Що ж отут особливого, а те, що для створення гарного сайту, Вам знадобиться лише одна або кілька універсальних сторінок, красиво оформлених, а створювати на основі її Ви можете 1000-чі унікальних інформаційних сторінок сайту

   Давайте, розглянемо невеликий приклад створеного сайту на основі шаблонової технології Smarty і Вам все стане зрозуміло.

   Тест-платформою зробимо безкоштовно завантажений шаблон із уже готовими малюнками й бібліотекою css.    Сайт, який ми збираємося зробити буде виглядати приблизно так:
site

   Як Ви бачите на малюнку, сайт буде складатися з навігаційного меню (ліворуч, угорі), блоку новин (ліворуч, унизу) і контентної (текстової) частини (праворуч, нижче). Таким чином, наш шаблон буде складатися із всіх елементів, крім от цих блоків. На кожній сторінці сайту буде свій унікальний контент. А що стосується новин і навігаційного меню, то хоча вони й будуть повторяться, однак вони можуть динамічно змінюватись, наприклад, додадуться свіжі новини, або з'явиться нове підменю.
    Отже, приклад динамічного сайту з використанням smarty буде складатися 3-x кроків:
  1. Cтворити папку з бібліотекою smarty, яку треба підключити
  2. Написати код php, у якому будуть наші змінні і які в подальшому будуть вставлятися в шаблон, а також підключити бібліотеку Smarty
  3. Створити сам шаблон, куди все будемо вставляти
   Для того, щоб Ви не витрачали свій час на перекопіювання коду, що наведений нижче, можете скачати вже готовий приклад (у готовому прикладі працює три перші посилання в головному меню й генерується блок новин) і вивчити його так сказати зсередини. Проект вимагає встановленого web-сервера й php. Створіть якусь тестову папку на Web-Сервері й настройте віртуальний хост. Проект буде складатися з набору наступних папок і файлів:
[..]
file[smarty_library] - це папка з бібліотекою smarty, переписуємо всю її сюди;
file[tpl] - папка із шаблонами;
     file [cache]
     file [configs]
     file [templates]
          file [index.tpl] - це наш основний шаблон сторінки
          file [news.tpl] - це допоміжний шаблон сторінки
     file [templates_c]
file[images] - папка з малюнками;
file[css] - папка з css стилями;
file[index.php] - безпосередньо наш індексний файл

   Ну що ж, давайте зробимо перший крок назустріч сайту й встановимо бібліотеку smarty.

   Для початку роботи з smarty, скачайте її останню версію на офіційному сайті http://www.smarty.net/download.php. Пакет smarty абсолютно безкоштовний, так що кряк шукати не прийдеться :)
   Якщо ви скачали й розпакували пакет, там буде всякого добра повно, але Вам безпосередньо потрібні всі файли й папки у каталозі libs (це і є бібліотека smarty, все інше нам не потрібно).    Її зміст буде виглядати ось так:
[..]
file[internals]
file[plugins]
file[Config_File.class.php]
file[debug.tpl]
file[Smarty.class.php] - цей файл ми будемо підключати для виклику бібліотеки Smarty
file[Smarty_Compiler.class.php]

   Перекопіюйте все це, з усім умістом усередині, у папку нашого проекту file [smarty_library]. Далі створіть папку file [tpl], а в ній підкаталоги

   Тепер переходимо до другого кроку й створюємо файл file [index.php]. Вміст файлу буде наступний:

   Давайте, коротко пройдемося по змісту файлу. Отже, починається файл із підключення бібліотеки smarty, для цього ми прописуємо шлях до бібліотеки, створюємо об'єкт і прописуємо для об'єкта шляху до шаблонів.
   Папки templates_c, configs і cache є системними для бібліотеки, а детально про це Ви можете почитати в документації FAQ Smarty.
   Далі ми створюємо текстові змінні, з яких інформація буде вставлятися в шаблон. На практиці всю інформацію Ви будете зберігати в окремих файлах або в базах даних.
   Під аналізом даних у прикладі мається на увазі перевірка відправлених за допомогою методів Get або Post змінної 'page' зі значеннями, які позначають яку сторінку запросив користувач. У даному прикладі будуть створюватися 3 унікальні сторінки - це "Головна", "Про нас", "Наші клієнти". Інші Ви зможете створити самі, трохи розібравшись і модернізувавши цей приклад.
   И, нарешті, сама цікава частина - передача значень змінних php у змінні smarty. Як бачите, робиться це простою операцією: $smarty->assign('description',$arr_meta_tags['description']), де description - це майбутнє ім'я змінної smarty, а $arr_meta_tags['description'] сама змінна php.

   Зупинимося на такому моменті, подивіться на цю функцію: $news_tpl = $smarty->fetch("news.tpl"). Знаєте що вона робить? Привласнює змінній php уже готовий блок новин. Як же він з'явився, адже в нас була лише змінна php масиву з новинами? А все дуже цікаво, smarty дозволяє створювати безліч додаткових шаблонів, які створюються за допомогою функції fetch, а потім вбудовуються в основний шаблон. Давайте подивимося із чого складається додатковий шаблон file [news.tpl]:

   Якщо Ви вже знайомі з мовами програмування й роботою з масивами, то функція foreach буде Вам знайома. А якщо ще не встигли, то Ви повинні знати, що smarty підтримує невеликий перелік логічних структур управління й серед них такі як: if і foreach. Команда foreach працює з масивами й означає, що з кожним елементом масиву (у цьому випадку $news) виконати нижченаведений код. І таким чином, внутрішня змінна new буде по черзі кожним елементом масиву $news. Щоб усе зрозуміти комплексно, ще раз повернемося назад і подивимося на такий ланцюжок коду у файлі file [index.php]:

   Якщо Ви ще не зрозуміли, як обробляти додаткові шаблони, залишіть це на потім, на початку можна обійтися й без цього.
   Наступним і останнім третім кроком буде створення основного шаблона, у якому в певних місцях будуть знаходитись змінні smarty.
   Давайте подивимося вміст файлу file [index.tpl]:

   Ви бачите звичайну сторінку html, а в ній {$keywords} такого роду символи. Ці символи, згідно синтаксису бібліотеки smarty, її змінні. Їхнє значення ми встановлюємо у файлі file [index.php] таким от способом:
$smarty->assign('keywords',$arr_meta_tags['keywords']);//де keywords означає {$keywords} у шаблоні    Ну от, мабуть і все, ще раз нагадую, що Ви можете скачати повністю готовий і працюючий вищенаведений приклад сайту з використанням шаблонової технології smarty (у готовому прикладі працює три перші посилання в головному меню й генерується блок новин).
   До всього вище додам, що використання smarty значно полегшить Вашу роботу по створенню свого сайту. Зробивши один шаблон, Ви можете створювати на його основі багато безліч цікавих сторінок сайту. А використання додаткових шаблонів, дає Вам можливість створювати будь-яку конструкцію Ваших сторінок. Удачі!


Категория: Приклад створення web-сайту | Добавил: defaultNick (18.11.2009)
Просмотров: 834
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Copyright MyCorp © 2024
Безкоштовний хостинг uCoz