WEB start

Компьютеры. Интернет. Профессиональное обучение. 055-966-10-17

hit 
counter

Наши преимущества

  • Наши программы обучения ориентированы на конкретного слушателя. Вы можете обучаться по одной из предложенных Вам программ, а можете самостоятельно составить, откорректировать, откорректировать свою персональную программу обучения. Преподаватель, консультант помогают Вам сориентироваться в материале курса при выборе программы обучения.
  • Обучение индивидуальное. Преподаватель проводит занятие только для Вас, ориентируясь на Ваши возможности, предыдущие знания и опыт, скорость восприятия нового материала.
  • Вы учитесь в удобное для Вас время, в удобной для Вас форме, может быть выбран гибкий график занятий, в соответствии с Вашими возможностями и пожеланиями.
  • Обучение проводится дистанционно. Вы можете обучаться, сидя за Вашим компьютером дома или на работе, не тратя время на поездки к месту обучения.


Регистрация на сайте

CMS

Content Management Systems - Системы Управления Контентом
  • CMS

    Современные системы управление контентом (CMS)

    Понятие CMS. Преимущества и недостатки

    Аббревиатура CMS расшифровывается как «Content Management System» (Система управления контентом). Сайт, построеннвй на CMS, строится из набора стандартных елементов. При использовании CMS задача разработчика складывается из необходимости выбрать нужную CMS (в зависим от целей и функционала сайта) и сконфигурировать свой сайт из готовых блоков этой CMS.

    Большинство современных сайтов строится именно на CMS, а не пишутся программистами "с нуля".


    Понятия: FrontEnd - BackEnd, Design - Content

    Большинство CMS сегодня написаны на языке PHP и обычно используют базу банных MySQL (большинство современных CMS позволяют использовать разные БД).

    Сайт, построенный на базе CMS состоит из 2-х частей:

    • сайт для администратора (панель управления)
    • сайт для пользователя.

    По его структуре сайт можно разбить условно на две части:

    • дизайн сайта (тема, шаблон)
    • контент сайта (статьи, публикации, навигация,...)

    В контексте CMS используются следующие соглашения-термины (вне CMS эти термины имеют другое значение):

    • FrontEnd - видимая часть сайта, доступная посетителям
    • BackEnd - панель управления сайтом, досткпная администратору
    • Template (Theme) - дизайн сайта
    • Content - материалы, документы на сайте

    Обзор CMS

    Наиболее популярны при создании сайтов такие CMS как WordPress, Joomla, Droopal.

    У каждой из них - своя структура, свои особенност.

    Для создания сайтов электронной коммерции часто используются такие целевые CMS как OpenCart, Magento, OsCommerceи др..

    Подробнее

    WordPress Joomla OpenCart


    Рабочее место разработчика

    Обычно для разработки сайта под CMS используется или сервер WEB хостинга или локальный компьютер.

    На сервере хостинга для установки используется его интерфейс, на локальном компьютере - локальный WEB сервер.


    Установка WAMP на локальный компьютер






    Установка WordPress на локальный компьютер

     






  • CMS Joomla

    CMS Joomla

    Система управление контентом(CMS) Joomla является сегодня одним из самых популярных инструментов построения WEB сайтов.

    Для CMS Joomla характерны:

    • выская надёжность и защищённость сайта, возможность регистрации на сайте и контроль прав доступа
    • самый разнообразный, легко расширяемый функционал сайта
    • поддержка разнообразных средств для многоязычности

    и многое другое.

    WEB сайт, построенный на CMS Joomla использует самые современные технологии разработки интернет-приложений. Такие, как например: система управления базами данных (например: MySQL), различные языки программирования и библиотеки расширений для них (например: JavaScript, jQuery, PHP). Но для создания большинства сайтов на Joomla, нет необходимости глубоко изучать эти технологии и самостоятельно писать программы (хотя и эта возможность поддерживается). Достаточно пользоваться готовыми компонентами, блоками CMS и конструировать из них сайты любой сложности.

    На CMS Joomla можно быстро построить как самый простой сайт-одностраничник, так и сложную систему управления предприятием (CRM), итернет-магазин, форум и многе другое.

    Установка CMS

    Установка CMS Joomla производится специальной программой из дистрибутива Joomla? который бесплатно скачивается с сайта разработчиков. Для установки CMS Joomla необходимы:

    • WEB server (Apache, Nginx, Microsoft IIS)
    • PHP
    • база данных (MySQL, MS SQL server, PostgreSQL)

    После установки CMS на её базе создаётся любой сайт.

    Создание сайта можно разделить на две независимых задачи:

     

    • создать дизайн сайта (шаблон - template)
    • создать контент сайта (набор функциональных компонентов, меню, публикуемые материалы).

     

    Joomla, как и другие CMS, независимо поддерживает дизайн и контент сайта. Можно менять дизайн, не теряя контент - и наоборот. Все функции управления сайтом выполняются через специальную панель алминистратора, которая защищена системой безопасности Joomla и доступна только авторизованныим пользователям.

    Панель управления сайтом на Joomla

    Сайт, построенный на базе CMS Joomla можно разделить на две части:

    • внешний интерфейс (для посетителей сайта )
    • административная (панель управления сайтом)

    Часто, когда речь идёт о CMS, эти интерфейсы называют Front End и Back End соответственно.

    При установке Joomla создаётся специальный пользователь с правами управления сайтом (администратор). В дальнейшем управление сайтом, конфигурация, управление контентом производится администратором через административную панель, посетителям эта часть сайта недоступна.

    Пользователи

    Joomla поддерживает гибкую систему управления пользователями, правами доступа к различным элементам внешнего и административного интерфейса, к элементам управления сайтом.

    И внешний и административный интерфейс поддерживают регистрацию пользователей, что обеспечиват зарегистрированному пользователю доступ исключительно к тем компонентам сайта и функциям, на которые у него есть права.

    При установке системы создаётся один пользователь с максимальными правами (Super User). В дальнейшем можно создавать, редактировать, удалять пользователей, зарегистрировавшись в административной панели как администратор (Super User).

    Для этого используются пользователи, группы пользователей, наборы прав доступа (как стандатрные так и созданные администратором).

    Управление контентом

    Как и во всех CMS, сайт на Joomla позволяет независимо управлять дизайном и контентом.

    С одной стороны, можно менять диайн, не затрагивая контент сайта. С другой стороны, изменение, добавление контента не меняет дизайн.

    Для управления контентом Joomla поддерживает целый ряд специальных инструментов:

     

    • статьи на сайте, категории статей, модули, дополнительные компоненты
    • система создания и управления различными меню.

    Это даёт возможность создавать сайты с разнообразным наполнением. Структура меню позволяет показывать различные элементы для размещения на внешнем интерфейсе в различном формате.

    Дизайн сайта на Joomla

    Основным элементом дизайна для Joomla является шаблон (Joomla template). При установке Joomla ставит по-умолчанию два шаблона для внешнего интерфейса. Шаблоны можно добавлять, менять, удалять. Шаблоны задают стили, дизайн, позиции размещения элементов сайта.

    Шаблоны можно писать самостоятельно, создавать при помощи программы-графического дизайнера, использовать готовые (бесплатные, платные). 

     

    Многоязычность в CMS Joomla

    Сайт на Joomla поддерживает многоязычность. 

    Средствами Joomla можно назначать различные шаблоны для разных языков, различные меню, разные элементы контента на разных языках, устанавливать соответствия между однотипными компонентами на разных языках.

    SEO оптимизация

    Одной из важнейших задач при построении сайта является его оптимизация для дальнейшего "продвижения" в интернет.

    Joomla поддерживает целый ряд коипонентов, обеспечивающих оптимизацию сайта для поисковиков (SEO). Например:

    • управление ключевыми словами и описаниями материалов сайта (теги meta)
    • SEF - ссылки
    • оптимизация скорости сайта (сжатие страниц, кеширование).

    Дополнительные компоненты из библиотеки JED обеспечивают такие функции как:

    • создание о обновление карты сайта
    • оповещение поисковиков о изменениях на сайте
    • обработка ощибки 404 - страница не найдена.

     

    Дополнительные компоненты Joomla

    Joomla поддерживает ряд дополнительных компонентов разных типов, которые практически неограниченно расширяют функциональность сайта. Это: шаблоны, плагины, модули, компоненты.

    Стандартные компоненты

    После установки CMS доступен стандартный набор компонентов. Они обеспечивают различные функциональные возможности сайта. Как, наример: многоязычность, поиск, управление пользователями, формы обратной связи, баннерная реклама на сайте, и многое другое. Набор установленных компонентов (плагины, иодули, компоненты, шаблоны) можно меняь: добавлять новые, удалять установленные.

    Библиотечные компоненты

    Разработчики Joomla иакже поддерживают online-библиотеку расширений - JED (Joomla Extensions Directory). Эта библиотека содержит проверенные расширения (плагины, модули, компоненты), как платные, так и бесплатные, разработанные разными авторами. 

    Примеры бесплатных компонентов
    • AcyMailing (e-mail рассылки). Массовые рассылки с сайта.
    • Akeeba Backup (резервное копирование и восстановление сайта, перенос на другой домен)
    • Sourcerer (вставка PHP и JavaScript программ в статьи и модули)
    • ProFiles (доступ к файлам хостинга через интерфейс административной панели)
    • qlform (формы обратной связи)
    • HikaShop (интернет-магазин на базе CMS Joomla)
    • PhocaDownload (загрузка / разгрузка файлов)
    • Расширения для форумов
    • Расширения для CRM
    • Google map (ContentMap)
    • countdown (обратный отсчёт времени)
    • Content uploader (Пакетная обработка материалов, импорт - экспорт в CSV файлы)

    Расширенные возможности

    Шаблоны (Joomla templates)

    Наряду со стандартными шаблонами, которые Joomla предоставляет после установки по-умолчанию, можно использовать и дополнительные шаблоны, обеспечивающие дизайн сайтов любой функциональности.

    Joomla позволяет использовать разные шаблоны как для всего контента, так и для отдельных материалов. Часто при создании многоязычных сайтов используются немного отличающиеся шаблоны (дизайны сайта) для разных языковых версий.

    Можно подбирать бесплатные шаблоны, которые в огромном количестве публикуются в интернет. Можно покупать готовые - платные, стоимость которых чаще всего, не превышает 50-100 USD.

    Иногода возникает необходимость создавать свои уникальные шаблоны для сайта. Эта задача требует знаний и опыта работы с HTML, CSS, JavaScript, PHP.

    Написание модулей и плагинов под Joomla

    Написание своих модулей для CMS Joomla - более сложная задача, чем создание щаблонов. Наряду с вышеперечисленными навыками, она требует от автора понимания основ функционирования Joomla Framework и её модели MVC.

    Написание компонентов под Joomla

    Компонет - самое сложное из всех возможных расширений Joomla. Создание компонентов - задача, требующая от разработчика не только знаний и опыта работы с PHP, MySQL, но и полного представления о структуре и функционировании Joomla Framework. Создание компонентов выходит за рамки этого курса.

     

     

     

  • CMS WordPress

    Построение сайта на CMS WordPress

    • Установка WordPress.
    • Сайт (FrontEnd) и панель управления (BackEnd).
    • Основные настройки сайта (general, writing, reading, discussion, media, permalinks )
    • Контент сайта.
      • Категории.
      • Статьи.
      • Страницы.
    • Плагины.
    • Внешний вид сайта.
      • Шаблоны (темы) сайта.
      • Виджеты.
      • Меню.
    • Управление пользователями.
    • Дополнительные инструменты.
    • Популярные плагины.

    WordPress - это система управления контентом (CMS) с открытым исходным кодом, которая позволяет пользователям создавать динамические веб-сайты. WordPress - самая популярная система ведения блогов в Интернете. Современные версии WordPress позволяют реализовывать не только  блоги, но и сайты с другой функциональностью.

    Как и другие CMS, WordPress  наряду с лицевой, видимой для посетителя частью сайта (FrontEnd) поддерживает интерфейс  панели управления сайтом (BackEnd), который доступен только администратору сайта.

    Изучение WordPress требует знания основ интернет-технологий, HTML, CSS.

    Для установки WordPress необходим WEB – сервер с поддержкой PHP (WAMP –Windows, LAMP-Linux, XAMP-Multi-platform, MAMP-Mac) и база данных MySQL.

    Сайт, построенный на CMS WordPress, позволяет настраивать, менять,  обновлять все его компоненты (дизайн сайта, дополнительные компоненты, публикации на сайте),  используя панель управления (BackEnd).

    Как и в других CMS, в WordPress можно сравнительно легко менять внешний вид сайта, не теряя при этом контент. Внешний вид сайта определяется установленной темой (шаблоном) и независим от его содержания.

    После установки WordPress по умолчанию панель управления находится по адресу:

    ИМЯ_САЙТА/wp-admin


    Основные характеристики WordPress

    Управление пользователями - позволяет управлять пользовательской информацией, такой как изменение роли пользователей (subscriber,  contributor,  author,  editor или administrator), создавать или удалять пользователя, изменять пароль и информацию о пользователе. Основная роль менеджера пользователей – авторизация пользователей, управление правами доступа.

    Управление носителями - это инструмент для управления мультимедийными файлами и папкой, в которую можно легко загружать, организовывать и управлять мультимедийными файлами на веб-сайте.

    Темы (шаблоны) сайта - позволяют изменять вид и функциональность сайта. Он включает изображения, таблицу стилей, файлы шаблонов и пользовательские страницы.

    Расширения (плагины) - предоставляют дополнительные функции в соответствии с задачами  сайта.

    Оптимизация для поисковых систем (SEO) - предоставляет несколько инструментов для оптимизации сайта с точки зрения поисковых систем.

    Многоязычность - позволяет переводить весь контент на язык, предпочитаемый пользователем.


    Основные настройки сайта на WordPress

    General Settings - общие настройки WordPress используется для установки основных параметров конфигурации сайта.

    Writing Settings - определяют режим публикации материалов на сайте.

    Reading Settings - параметры показа сайта. Эти параметры используются для настройки параметров главной страницы сайта (FrontPage)

    Discussion Settings - настройки параметров блога.

    Media Settings - настройки работы с изображениями.

    Permalink Settings - настройки ссылок, параметры для SEF (Search Engine Friendly) URL's.


    Внешний вид сайта

    В основе внешнего вида сайта на WordPress лежит тема, или шаблон (theme, template). У каждого шаблона есть определённые параметры, он определяет расположение на экране контента, элементов навигацтт, графических элементов и тд. . По умолчанию WordPress предлагает на выбор несколько шаблонов, большое количество шаблонов можно найти в интернет, они могут быть как платными так и бесплатными, можно создавать шаблоны самостоятельно или генерировать при помощи специальных программ (например - Artiisteer).

    У каждого шаблона есть также дополнительные параметры конфигурации. Его внешний вид и функциональность можно настраивать при помощи различных виджетов и меню.


    Контент сайта

    Статьи (Posts), страницы (Pages), меню (Menu).

    Основные 2 типа контента для сайта на WordPress - посты (или статьи) и страницы.

    Посты на сайте используются для показа динамического, постоянно меняющегося контента (например: блоги). Они могут группироваться по категориям и использовать теги (tags) . Меню управления постами позволяет создавать, удалять, редактировать посты, управлять их публикацией, порядком их показа на лицевой странице сайта.

    Категории -  рубрики (Categories) используются для структуризации содержимого сайта, группировки материалов по темам.

    Тип контента - страницы предназначен для статического контента. Страницы на сайте показываются постоянно (в отличие от постов). Страница не использует категории и теги. Страницы помогают формировать дизайн, структуру лицевой страницы сайта, добавляя на неё постоянную информацию.

    Меню сайта располагаются в местах, предусмотренных выбранной темой, элемент меню (menu item) может быть привязан к какому-то контенту (страница, публикация, категория и тд). 


    Плагины (Plugins)

    Плагины WordPress - это программы, которые можно загрузить, чтобы расширить функциональность сайта. Они добавляют сервисы или функции для сайта WordPress. Плагины используются для упрощения работы.


    Виджеты (Widgets)

    Виджеты - это небольшие блоки, которые выполняют определенные функции. Они дают возможность дополнять дизайн и функциональность темы WordPress. Они могут быть разными для разных тем.

    Виджеты вставляются в те области на сайте, которые для них предксматривает используемая тема.


    Управление пользователями (Users )

    Каждый пользователь (user) имеет свою собственную роль в WordPress. Роли - это права доступа, предоставляемые конкретному пользователю для использования ресурсов сайта на WordPress. 

    Роли могут быть назначенв только пользователем с правом доступа - Администратором.

    Администратор (Administrator) - имеет все права. Администратор может делать все, что угодно на сайте WordPress, например: создавать других администраторов, пользователей и удалять их.

    Редактор (Editor) - имеет доступ ко всем записям, страницам, комментариям, категориям, тегам и ссылкам. Он может создавать, публиковать, редактировать или удалять любые сообщения или страницы.

    Автор (Author) - может писать статьи (посты), загружать фотографии, редактировать и публиковать свои сообщения.

    Помошник (Contributor) - может писать и редактировать свои сообщения только после опубликования. Он может создавать свои собственные сообщения и страницы, но не может публиковать их. Он не может загружать изображения или файлы, но может видеть статус сайта. Когда он хочет опубликовать сообщение, оно должно быть сначала проверено и одобрено Администратором. Когда сообщение одобрено, его автор не может вносить какие-либо изменения после его опубликования.

    Подписчик (Follower) - может только читать и комментировать сообщения. Подписчики - это те, кто выполнил вход, зарегистрировался на сайте, используя свою учётную запись.

    Посетитель (Viewer) - может просматривать сообщения, посетители не могут редактировать, но могут комментировать сообщения.





  • CMS Электронный магазин

    CMS для электронной коммерции:Magento, OsCommerce, OpenCart

    • Функциональность. Описание системы.
    • Панель администратора.
    • Редактирование настроек магазина.
    • Создание категорий интернет магазина.
    • Создание страниц товаров.
    • Управление пользователями.
    • Подключенте платёжных систем.
    • Выбор и установка шаблона для интернет магазина.
    • Модули.
    • Возможности сбора статистики.
    • Многоязычность.
    • SEO. Мета теги.



  • Joomla 3.x создание модулей

    Как написать расширение типа "модуль" для Joomla 3.x

    CMS Joomla! 3.x построена с использованием трех разных приложений:

    installation (используется для установки Joomla)

    administrator (используется для управления контентом)

    public (используется для отображения содержимого).

    Программа installation используется один раз. Программы administrator и public через концепцию компонентов с модулями. Каждый модуль имеет одну точку входа, расположенную в папке modules. Модули именуются как:

     mod_ИМЯ_МОДУЛЯ / ИМЯ_МОДУЛЯ.php

    Разработку модуля можно разделить на несколько этапов:

    • создать файловую структуру модуля
    • внести в неё рабочие файлы<</li>
    • заархивировать в ZIP
    • установить в Joomla

    Простой модуль

    Далее - создаём простой модуль с именем webstart, который выводит на экран строку: "Ученье - свет!"

    Файловая структура модуля

    Первое, что нужно сделать - создать стандартную

    Существует четыре основных файла, которые используются в стандартном шаблоне для разработки модуля:

    • mod_webstart.php - файл, который является основной точкой входа для модуля, он выполнит амнеобходимые процедуры инициализации, вызовет программу - helper для сбора любых необходимых данных и подключит шаблон, который будет отображать вывод модуля
    • mod_webstart.xml - файл, который содержит информацию о модуле, он определяет файлы, которые необходимо установить с помощью установщика Joomla, задает параметры конфигурации модуля
    • helper.php - файл, который содержит класс helper, который используется для фактической работы модуля,  для чтения информации из баз данных
    • tmpl / default.php - это шаблон модуля - файл который принимает данные, собранные mod_webstart.php, и генерирует HTML-код для вывода в окно браузера
    • index.html - из соображений безопасности во все папки стоит вставлять такой пустой файл-заглушку

    Создаём файловую структуру

    Создаём на диске папку webstart и в ней - необходимые файлы.


    Joomla 3 modules


    Вносим в них конфигурацию нашего модуля.

    Файл mod_webstart.xml

    <?xml version="1.0" encoding="utf-8"?> <extension type="module" version="3.1.0" client="site" method="upgrade"> <name>Web start module</name> <author>WebStart.top project</author> <version>1.0.0</version> <description>My first test module.</description> <files> <filename>mod_webstart.xml</filename> <filename module="mod_webstart">mod_webstart.php</filename> <filename>index.html</filename> <filename>helper.php</filename> <filename>tmpl/default.php</filename> <filename>tmpl/index.html</filename> </files> <config> </config> </extension>

    Файл mod_webstart.php

    Этот файл выполнит три задачи:

    1. включит файл helper.php, который содержит класс, который будет использоваться для сбора необходимых данных
    2. вызовет соответствующий метод класса для получения данных
    3. подключит шаблон для  вывода.

    Класс - helper определяется в файле helper.php. Этот файл включен в инструкцию require_once:


    <?php // Check Joomla framework defined('_JEXEC') or die; // Include helper require_once dirname(__FILE__) . '/helper.php'; $hello = modWebStartHelper::sayWodr($params); require JModuleHelper::getLayoutPath('mod_webstart');


    В строке

    $hello = modWebStartHelper::sayWodr($params);

    modWebStartHelper - имя класса, которое задано в файле helper.php

    modWebStartHelper::getHello($params) - вызов единственного метода (функции) этого класса - sayWodr()

    Директива 

    JModuleHelper::getLayoutPath('mod_webstart');

    подключает шаблон.

    Файл helper.php


    <?php class modWebStartHelper { public static function sayWord($params) { return 'Ученье - свет!'; } }


    Файл index.html

    <!DOCTYPE html> <HTML> <HEAD></HEAD> <BODY> No access! </BODY> </HTML>


    Сохраняем созданный шаблон в файле webstart.zip

    Устанавливаем расширение в Joomla

    Joomla 3 modules


    Переходим в управление модулями

    Joomla 3 modules

    Публикуем его

    Joomla 3 modules

    Видим результат

    Joomla 3 modules


    Подключение к базе данных

    Часто возникает необходимость при установке модуля создать и использовать свою базу данных.

    Создадим новый модуль - mod_webstart_db

    Для этого необходимо:

    в xml - файле описания модуля (mod_webstart_db.xml) добавить теги, которые описывают SQL - запросы, которые будут выполняться при установке модуля (тег install), удалении модуля (тег uninstall), обновлении модуля (тег update). И таг <folder>sql</folder>

    Файл mod_webstart_db.xml

    <?xml version="1.0" encoding="utf-8"?> <extension type="module" version="3.1.0" client="site" method="upgrade"> <name>Web start team</name> <author>WebStart.top project</author> <authorEmail>Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.</authorEmail> <authorUrl>http://WebStart.top</authorUrl> <version>1.0.0</version> <description>Test module with database</description> <creationDate>January 2018</creationDate> <files> <filename>mod_webstart_db.xml</filename> <filename module="mod_webstart_db">mod_webstart_db.php</filename> <filename>index.html</filename> <filename>helper.php</filename> <filename>tmpl/default.php</filename> <filename>tmpl/index.html</filename> <folder>MySQL</folder> </files> <install> <sql> <file driver="mysql" charset="utf8">MySQL/install.mysql.1.0.0.utf8.sql</file> </sql> </install> <uninstall> <sql> <file driver="mysql" charset="utf8">MySQL/uninstall.mysql.utf8.sql</file> </sql> </uninstall> <update> <schemas> <schemapath type="mysql">MySQL/updates</schemapath> </schemas> </update> <config> </config> </extension>




    Добавляем к проекту папку sql

    В ней создаём файлы с именами

    install.mysql.utf8.sql

    uninstall.mysql.utf8.sql

    и папку

    updates


    Joomla 3 modules


    Файл install.mysql.utf8.sql (в папке MySQL)

    CREATE TABLE IF NOT EXISTS #__web_st_db ( id int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY, myMsg text NOT NULL, lang varchar(5) NOT NULL ); INSERT INTO #__web_st_db (myMsg, lang) VALUES ('Be sure to visit the web-start.top website!', 'en-GB'); INSERT INTO #__web_st_db (myMsg, lang) VALUES ('הקפד לבקר באתר web-start.top!', 'he-IL'); INSERT INTO #__web_st_db (myMsg, lang) VALUES ('Обязательно посетите WEB-сайт web-start.top!', 'ru-RU');


    Файл uninstall.mysql.utf8.sql (в папке MySQL)

    DROP TABLE IF EXISTS #__web_st_db;


    Файл  (в папке MySQL\updates)

    # Placeholder file for database changes for version 1.0.0

    Файл default.php

    <?php defined('_JEXEC') or die; echo $hello;


    Файл helper.php

    <?php class modWebStartDbHelper { public static function sayWord($params) { // Obtain a database connection $db = JFactory::getDbo(); $lang = JFactory::getLanguage(); // Retrieve the message $query = $db->getQuery(true) -> select($db->quoteName('myMsg'))->from($db->quoteName('#__web_st_db'))->where('lang = ' . $db->Quote($lang->getTag())); // Prepare the query $db->setQuery($query); // Load the row. $result = $db->loadResult(); // Return the message return $result; } }


    Файл mod_webstat_db.php

    <?php // Check Joomla framework defined('_JEXEC') or die; // Include helper require_once dirname(__FILE__) . '/helper.php'; $hello = modWebStartDbHelper::sayWord($params); require JModuleHelper::getLayoutPath('mod_webstart_db');


    Устанавливаем модуль в адинистративной панели Joomla, ставим его в позицию, например 7

    Joomla 3 modules


    Наш модуль использует свою таблицу в базе данных Joomla, называется она:  #__web_st_db ,  префикс #__  заменяется на префикс всех таблиц в БД Joomla.

    Мы также используем информацию о текущем языке, выбранном на сайте. Её мы получаем из Joomla framework:

    $lang = JFactory::getLanguage();

    $lang->getTag()

    Получив префикс языка, мы используем его при выборки нужного сообщения из нашей таблицы в базе данных.

    $db->Quote($lang->getTag())

    Поэтому при переходе сайта на другой язык наш модуль автоматически получает другое сообщение


    Joomla 3 modules

       


  • Joomla, компонент Sourcerer

    Joomla. Компонент Sourcerer

    Компонент sourcerer позволяет удобно размещать коды программ на PHP, JavaScript, стили CSS внутри статей, модулей сайта Joomla.

    Синтаксис тмрлдбзования довольно прост. Нужно разместить теги {source} и {/ source} в текстовой области, в которой должен появиться код (например, статья или пользовательский HTML-модуль), код программы размещается между тегами.

    Пример вставки HTML кода

    {source}<span style="color:red">This text should be red!</span>{/source}

    HTML-теги (с двойными квадратными скобками)

    С некоторыми редакторами Joomla могут возникнуть проблемы с сохранением тегов, введенных в представлении WYSIWYG (редактор удаляет их при сохранении). В этом случае можно использовать синтаксис с двойной квадратной скобкой для тегов.

    Нужно использовать [[tag]] вместо <tag>

    Пример:

    {source}[[span style="color:red"]]This text should be red![[/span]]{/source}

    Вставка программы на JavaScript

     {source} <script > alert('This text is placed through <strong>JavaScript</strong>!'); </script> {/source}

    Вставка программы на PHP

    {source} <?php echo ('This text is placed through <strong>PHP</strong>!'); ?> {/source}

    Комбинированный код (HTML, JavaScript и PHP)

    {source} <span style="color:red">This text should be red!</span> <br /> <script> document.write('This text is placed through <strong>JavaScript</strong>!'); </script> <?php echo ('<p>'); echo ('This text is placed through <strong>PHP</strong>!'); echo ('</p>'); ?> {/source}

    Вставка php из отдельного файла

    Пример файла PHP:
    www.yourdomain.com/myfiles/file.php

    {source file=myfiles/file.php}{/source}

    Или:

    {source file=myfiles/file.php}<?php echo '<div class="mydiv">' . $var_from_file . '</div>'; ?>{/source}


    Или:

    {source}<?php require_once JPATH_SITE.'/myfiles/file.php'; ?>{/source}


    Вставка текстового или HTML файла 

    {source}<?php echo file_get_contents( JPATH_SITE.'/myfiles/file.txt' ); ?>{/source}


    Использование Joomla framework

    Программа PHP, вставленная через sourcerer, может использовать объекты Joomla framework.

    Например:

    подключиться к базе данных

    {source}<?php $query = "SELECT something from #__mydatabasetable WHERE this = 'that'"; $database->setQuery($query); $result = $database->loadResult(); ?>{/source}

    подключиться к внешней базе данных

    {source}<?php $option = array( 'driver' => 'mysql', // Database driver name 'host' => 'db.myhost.com', // Database host name 'user' => 'fredbloggs', // User for database authentication 'password' => 's9(39s£h[%dkFd', // Password for database authentication 'database' => 'bigdatabase', // Database name 'prefix' => 'abc_', // Database prefix (may be empty) ); $db = JDatabase::getInstance( $option ); ?>{/source}

    добавить Javascript в начало страницы html

    {source}<?php $script = " alert('this is javasript'); "; $doc->addScriptDeclaration( $script ); ?>{/source}

    Чтобы добавить файл js в HEAD, используется:

    {source}<?php $doc->addScript( JURI::root( true ).'/path/to/your/file.js' ); ?>{/source}

    Чтобы добавить несколько таблиц стилей и javascript программ, можно использовать php-код:

    {source}<?php $css = " body { color: red; } "; $doc->addStyleDeclaration( $css ); $doc->addStyleSheet( JURI::root( true ).'/path/to/your/file.css' ); $doc->addStyleSheet( JURI::root( true ).'/path/to/your/file2.css' ); $script = " alert('this is javasript'); "; $doc->addScriptDeclaration( $script ); $doc->addScript( JURI::root( true ).'/path/to/your/file.js' ); $doc->addScript( JURI::root( true ).'/path/to/your/file2.js' ); ?>{/source}




    Глобальные переменные sourcerer

    Компонент sourcerer создаёт и позволяет использовать свои переменные:

    $mainframe или $app

    $document или $doc (не может использоваться в коде Sourcerer в модулях)

    $database или $db

    $user - объект user, содержащий сведения о пользователе guest или текущем пользователе

    $Itemid Идентификатор меню страницы

    $article Объект article (доступен только при использовании кода внутри статей)






  • WEB - Основы современных интернет-технологий

    Основы современных интернет-технологий

    Введение

    Интернет сегодня - это всемирная сеть, которая объединяет миллионы компьютеров, расположенных в разных частях света. Функционирование этой сети обеспечивает организация  ISOC (The Internet Society) - это американская некоммерческая организация (Reston, Virginia, U.S.), основанная в 1992 году. Штаб-квартира ISOC  находится в городе Рестон, Вирджиния, США , ISOC имеет фиоиалы  в Женеве, Швейцария. Члены ISOC -  более чем 140 организаций и более 80 000 индивидуальных членов. 

    Подключение компьютеров в интернет, обмен данными между ними регламентируется определённым набором правил - протоколов. Такая стандартизация позволяеразличным независимым разработчикам и потребителям интернет-контента пользоваться этой сетью, публиковать в сети различного рода информмацию, создавать сетевые сервисы и тд.. 

    Набор этих правил регламентируется и публикуются организацией - IETF ( Internet Engineering Task Force - Fremont, California, United States). Эти стандарты (интернет-протоколы - TCP/IP stack) публикутся в форме специальных документов - RFC (Requests For Comments), которые общедоступны.

    В пространстве Интернет можно выделить компьютеры, на которых установлены специальные программы которые   умеют предоставлять различные Интернет-услуги. Они называются Серверами (Server). Так, например, на каком-то компьютере может быть установлен WEB сервер ( Apacheб IIS,... ). В этом случае компьютер сможет публиковать в Интернет WEB - сайты.

    На других компьютерах, которые тоже входят в Интернет, могут стоять специальные программы, которые умеют полцчать определённый тип услуг - клиенты. Например, программы типа Chrome, IE, Opera и другие браузеры умеют запрашивать у WEB серверов WEB странички и показывать их на экране компьютера.

    Протоколы TCP/IP

    Подробное описание стека протоколов TCP/IP выходит за рамки нашего обсуждения. 

    Для WEB - разработчика достаточно иметь общее представленте о некоторых из них.

    Протоколы TCP (Transmission Control Protocol), IP (Internet Protocol) обеспечивают адресацию компьютеров в пространстве Интарнет, доставку пакетов (единицу информации). Каждому компьютеру в Интернет присваивается уникальный адрес IP, состоящий из 4-х наборов цифр. Например адрес 8.8.8.8 принадлежит DNS серверу Google.

    Распределением этих адресов занимается InterNic (International Network Information Center).

    Протокол DNS. 

    Для удобства использования Интернет-адресов их цифровые значения часто заменяют на более читабельные текстовые адреса - DNS -  имена. Специальные сервера (DNS - Server) поддерживают в пространстве Интернет распеделённую иерархическую базу данных DNS имён. 

    Основная задача этой базы данных - приводить в соответсвие   цифровые IP - адреса текстовым DNS именам. Для общения компьютеров в Интенет необходимы именно цифровые IP адреса. 

    Протокол DND даёт пользователям возможность не запоминать цифры, а запоминать дружественные текстовые имена в качестве адресов в Интернет.

    Пространство DNS имён представляет собой дерево. От корня этого дерева имён отходят ветки - домены верхнего уровня. У каждого из них есть дочерние втки - домены следующих уровней. Распределением DNS имён и поддержкой доменов верхнего уровня - TLD (Top Level Domains) занимается ICANN   (Internet Corporation for Assigned Names and Numbers). Управление доменами следующих подуровней делегировано другим организациям.

    Протокол FTP позволяет обмениваться файлами через Интернет.

    Протоколы POP, SMTP, IMAP позволяют обмениваться почтовыми сообщениями.

    Протокол HTTP описывает правила взаимодействия WEB сервера с его клиентом - браузером.


    Разработка WEB сайтов

    Стандарты для разработчиков WEB регулируются организацией W3C  (World Wide Web Consortium).

    Это, например, CGI, CSS, DOM, HTML.

    • Технологии Front-end, Back-end. 
    • WEB страница. WEB сайт. Принципы построения и функционирования.


    Основные этапы построения сайта

    • Планирование сайта, выбор и регистрация имени домена.
    • Контент сайта. Планирование и подготовка содержимого сайта.
    • Дизайн сайта. Проработка логики построения сайта. Разработка схемы навигации. Меню.
    • Разработка графического дизайна. Выбор платформы сайта. Создание сайта.
    • Выбор хостинга. Размещение сайта на WEB – хостинге. 
    • Тестирование сайта.
    • Оптимизация сайта. Теги META, Ссылки сайта (SEF). Карта сайта (sitemap). Подготовка для поисковых роботов. Регистрация в поисковиках. SEO. Аналитика, продвижение сайта в интернет.


    Программирование для WEB

    • WEB - сервера. WEB - браузеры. Обзор языков HTML, JavaScript, PHP

     

    Записаться на курс

     



  • Web developer

    Современные интернет-технологии

    Современные технологии, используемые для разработки и создания интернет-приложений, можно условно разделить на несколько категорий, которые отражают реальные этапы работ.

    • Графический дизайн интерфейса сайта (WEB design, UI design )
    • Разработка функциональных возможностей сайта (Front-end development, UX design и Back-end development)

    В зависимости от деталей реализации каждого конкретного интерет-проекта: его целей, сложности, бюджета может отпасть необходимость какого-либо конкретного этапа разработок.

    Так, например, какие-то проекты могут обойтись без авторского дизайна, а для каких-то проектов не потребуется сложная структура управления базаими данных.

    У нас Вы можете получить специализацию в любом направлении: от графика до программиста широкого профиля.

    При записи на курс мы предоставляем возможность пройти предварительное тестирование-собеседование с опытным преподавателем. Это помогает раскрыть Ваш потенциал, определить перспективы обучения по той или иной специальности. Выбор курса должен определяться, в том числе, Вашими личными возможностями при восприятии нового материала, предыдущим опытом, знаниями и персональными склонностями. Наш специалист учитывает все эти факторы, наряду с Вашей готовностью учиться и тратить личное время на собственное образование. При составлении индивидуальной програмы обучения учитывается также и график Вашей занятости.

    Все наши программы обучения ориентированы, в первую очередь, на требования современного рынка труда.

    Они построены по результатом многолетнего анализа, отслеживания и изучения новых интернет-технологий и тенденций развития, требований конкретных заказчиков. Всё это позволяет нашим выпускникам по окончании курса успешно конкурировать с их коллегами при поиске интересной и хорошо оплачиваемой работы по новой специальности.

    Проводимые нами курсы рассчитаны как на начинающих разработчиков, так и на работающих специалистов, которые заинтересованы в знакомстве с новыми технологиями, в расширении своих возможностей, получении новой специализации.

    WEB дизайнер

    (WEB designer, UI/UX designer)

    Курс рассчитан на подготовку специалистов по разработке графического интерфейса для интернет-проектов.

    Это: графический дизайн сайта, создание шаблонов, подготовка и оптимизация графического контента (картинки, mutimedia).

    Предварительные требования

    • Опыт работы с компьютером и интернет в качестве пользователя (интерфейс Windows или Linux, интернет браузер, текстовый редактор)

    Программа курса

    Adobe Photoshop, Illustrator, Dreamweaver - basics

    HTML5, CSS3, FlexBox, CSS grid

    Bootstrap 4 - CSS

    WEB - разработчик (интерфейс пользователя)

    (Front-end, Client-side developer)

    Курс рассчитан на подготовку специалистов-разработчиков, специализирующихся на клиентской части интернет-приложений.

    Это: логика и функционал интерфейса сайта - всё то, что выполняется браузером клиента. А также: оптимизация сайта для поисковых машин, интернет-продвижение сайта (CEO).

    Предварительные требования

    • Опыт работы с компьютером и интернет в качестве пользователя (интерфейс Windows или Linux, интернет браузер, текстовый редактор)
    • Базовые знания Английского языка (на уровне технического перевода)

    Программа курса

    Акад. часов - в группеАкад. часов - индивидуально
    1HTML5, CSS3, FlexBox, CSS grid 6010
    2Browser, DOM, JavaScript 60 10
    3jQuery, jQuery UI 406
    4Bootstrap 4 - CSS, Bootstrap 4 - jQuery 305
    5NodeJS, MS TypeScript, SASS 305
    6Angular 5 framework 5510
    7CEO 152
    Всего 31035

    WEB - разработчик (серверные приложения)

    (Back-end, Server-side developer)

    Курс рассчитан на подготовку специалистов-разработчиков, специализирующихся на серверной части интернет-приложений.

    Это: функционирование серверной части интернет-приложения, обработка запросов клиентов, базы данных.

    При разработке серверных приложений сегодня используются различные сервера, платформы, системы управления базами данных и языки программирования.

    Наиболее распространённые - это сервера Apache на операционной системе Linux. Программирование на PHP, MySQL.

    Предварительные требования

    • Опыт работы с компьютером и интернет в качестве пользователя (интерфейс Windows или Linux, интернет браузер, текстовый редактор)
    • Базовые знания Английского языка (на уровне технического перевода)


    Программа курса - Back-end PHP

    Акад. часов - в группеАкад. часов - индивидуально
    1HTML5, CSS3 508
    2Apache102
    3PHP 7, MySQL10020
    4Laravel 5 Framework 10020
    Всего 30050


    Программа курса - Back-end Java

    Акад. часов - в группеАкад. часов - индивидуально
    1HTML5, CSS3508
    2Apache, Tomcat, Eclipse 407
    3Java 10020
    4Spring MVC10020
    Всего29055


    Программа курса - Back-end Python

    Акад. часов - в группеАкад. часов - индивидуально
    1HTML, CSS, and JavaScript6010
    2Python and Django18040
    Всего24050


    WEB - разработчик (полный курс)

    (Full stack WEB developer )

    Курс готовит универсальных специалистов широкого профиля, охватывая специальности: Front-end и Back-end developer


    WEB - начинаюшим

    Курс предназначен для тех, кто хочет быстро научиться строить сайты на базе готовых решений.

    Это: системы управления контентом (WordPress, Joomla, Opencart), использование готовых шаблонов, создание шаблонов - Artisteer.

    Предварительные требования

    • Опыт работы с компьютером в качестве пользователя

    Программа курса

    Акад. часов - в группе Акад. часов - индивидуально
    1HTML5, CSS3 - intro 305
    2CMS Joomla, WordPress, Opencart 10020
    3Шаблоны сайтов. Artisteer5010
    Всего18035

  • WordPress - дочерние темы

    WordPress - дочерние темы

    https://make.wordpress.org/training/handbook/lesson-plans/theme-school/child-themes/child-themes-twentyseventeen/

    Дочерняя тема позволяет модифицировать родительскую тему несколькими способами:

    • добавить листы стилей в дополнение к стилям родительской темы
    • замещение (переопределение) файлов шаблонов родительской темы
    • добавление новых файлов через дочернюю тему


    Папка для дочерней темы

    В папке \wp-content\themes создаём новую папку с именем дочерней темы и помещаем в неё 2 файла:

    style.css

    (в дочерней теме)

    /* Theme Name: twenty Ninteene Child test1 Description: The custom theme Child test1 using the parent theme Twenty Nineteen. Author: Admin Author URI: http://web-start.top Template: twentynineteen Version: 1 */


    Enqueue parent and child theme style sheets

    functions.php

    (в дочерней теме)

    Сначала выполняется файл functions.php из дочерней темы, затем - из родительской.

    <?php function mychildtheme_enqueue_styles() { $parent_style = 'parent-style'; wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' ); wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array( $parent_style ) ); var_dump($parent_style); } add_action( 'wp_enqueue_scripts', 'mychildtheme_enqueue_styles' ); ?>


    Файл style.css дочерней темы переопределяет любые стили в файле style.css родительской темы, которые имеют одинаковые селекторы.


    Переопределение шаблонов родительской темы

    Файлы  «Дочерней темы» влияют на файлы «Родителя»: они либо переопределяют элементы и добавляют функциональность к его файлу «Родителя» с тем же именем, либо полностью заменяют его.

    Пример нового файла footer.php для темы (он заменяет файл из папки с родительской темой)

    <?php /* New footer */ ?> </div><!-- #content --> <footer id="colophon" class="site-footer"> <?php printf( 'New footer &copy; 2019' ); ?> </footer><!-- #colophon --> </div><!-- #page --> <?php wp_footer(); ?> </body> </html>



    Добавление новых шаблонов

    Пример добавляет альтернативный шаблон с именем Template - test2

    Шаблон с этим именем появляется как вариант выбора шаблона в свойствах страницы (page attributes).


    <?php /* Template Name: Template - test2 */ get_header(); ?> <section id="primary" class="content-area"> <main id="main" class="site-main"> <H1>New - corrected index.php </H1> <?php if ( have_posts() ) { // Load posts loop. while ( have_posts() ) { the_post(); get_template_part( 'template-parts/content/content' ); } // Previous/next page navigation. twentynineteen_the_posts_navigation(); } else { // If no content, include the "No posts found" template. get_template_part( 'template-parts/content/content', 'none' ); } ?> </main><!-- .site-main --> </section><!-- .content-area --> <?php get_footer();





  • Создание шаблонов для Joomla 3.x

    Создание шаблонов для Joomla 3.x

    Шаблоны (templates) для Joomla совместимы, начиная с версии 2.5.

    Шаблоны предыдущих версий Joomla имеют иную структуру и не подходят для текущих версий (3.x).

    Для CMS Joomla шаблон - это один из возможных типов расширений (другие типы: модули, компоненты, плагины).

    Шаблон определяет дизайн сайта, задаёт позиции в окне браузера для размещения компонентов сайта (модулей, страниц сайта).

    Шаблон создаётся в виде наборов определённых папок и файлов, упаковывается в формат ZIP и затем импортируется на сайт Joomla через пранель управления сайтом.

    Простой шаблон Joomla

     Тестовый шаблон назовём JoomTest1 и будем создавать внутри папки с именем JoomTest1.

    Внутри этой папки создаём дочерние папки с именами:

    css

    js

    и файлы с именами:

    index.php - PHP файл с кодом шаблона.

    templateDetails.xml - XML файл с описанием шаблона.

    В папку css поместим файл с именем JoomTest1.css - это CSS стли, которые шаблон будет использовать.

    В папку js поместим файл с именем JoomTest1.js - это программки на javaScripts для нашего шаблона.

    │ │ index.php │ templateDetails.xml │ ├───css │ JoomTest1.css │ ├───images │ index.html │ └───js JoomTest1.js

    Содержимое файлов

    templateDetails.xml

    <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE install PUBLIC "-//Joomla! 3.0//DTD template 1.0//EN" "http://www.joomla.org/xml/dtd/1.6/template-install.dtd"> <extension version="3.0" client="site" type="template" method="upgrade"> <name>JoomTest1</name> <creationDate>2017-07-01</creationDate> <version>1.0</version> <author>Admin</author> <authorUrl>http://web-start.top</authorUrl> <description>JoomTest1 site</description> <files> <folder>css </folder> <folder>images </folder> <folder>js </folder> <file>index.html </file> <file>index.php </file> <file>templateDetails.xml </file> </files> <positions> <position>position1</position> <position>position2</position> <position>debug</position> </positions> </extension>

    index.php

    <?php defined('_JEXEC') or die; ?> <!DOCTYPE html> <html> <head> <jdoc:include type="head" /> <link rel="stylesheet" href="/<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/JoomTest1.css" type="text/css" /> <script src="/<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/js/JoomTest1.js" ></script> </head> <body> <div id="wrapper"> <div id="content"> <div id="header">JoomTest1 site</div> <div id="left"> <jdoc:include type="modules" name="position1" /></div> <div id="articles"> <jdoc:include type="component" /> </div> </div> <div id="footer"><jdoc:include type="modules" name="position2" /></div> </div> <div id="copy">&copy; All rights reserved.</div> <jdoc:include type="modules" name="debug" /> </body> </html>


    JoomTest1.css

    BODY{ padding :0px; margin :0px; background-color :#efefef; } #wrapper{ width :100%; text-align :center; } #content{ display :inline-block; min-height :200px; width :1000px; background-color :#eee; border :1px solid #aaa; text-indent :20px; text-align :left; padding :20px; } #header{ width :100%; height :50px; border-bottom :1px solid #ddd; text-align :center; font-weight :bolder; font-size :2em; } #left{ float :left; width :30%; min-height :600px; background-color :#aaa; } #articles{ float :right; width :65%; min-height :600px; background-color :#eee; } #footer{ width :100%; height :50px; text-align :center; } #copy{ text-align :center; } LI{ list-style-type :circle; text-align :left; }


    Более сложный шаблон

    Более сложный шаблон может использовать дополнительные файлы и папки. В этом случае они должны быть описаны в XML - файле templateDetails.xml внутри тега  <files>.

    Файлы с именами: template_preview.png и template_thumbnail.png содержат картинки - preview шаблона.

    Шаблон может использовать языковые переменные, которые находятся в файлах с именами типа:  en-GB.tpl_JoomTest2.ini (ПРЕФИКС_ЯЗЫКА.tpl_ИМЯ_ШАБЛОНА.ini). Описываются они внутри тега <language> .

    Можно в шаблоне предусматривать параметры. Это переменные, которым в тексте шаблона можно задать начальные значения, а в административной панели в свойствах шаблона эти значения менять. Параметры описываются внутри тега <config>, могут быть объединены в поименованные группы. Каждая отдельная переменная-параметр описывается тегом <field>. Эти переменные можно использовать в PHP-программе.

    Струтура папок шаблона

    │ │ index.php │ templateDetails.xml │ template_preview.png │ template_thumbnail.png │ ├───css │ JoomTest2.css │ ├───images │ index.html │ ├───js │ JoomTest1.js │ └───language ├───en-GB │ en-GB.tpl_JoomTest2.ini │ en-GB.tpl_JoomTest2.sys.ini │ └───ru-RU ru-RU.tpl_JoomTest2.ini ru-RU.tpl_JoomTest2.sys.ini


    Содержимое файлов

    templateDetails.xml - XML файл, описывающий шаблон

    <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE install PUBLIC "-//Joomla! 3.0//DTD template 1.0//EN" "http://www.joomla.org/xml/dtd/1.6/template-install.dtd"> <extension version="3.0" client="site" type="template" method="upgrade"> <name>JoomTest2</name> <creationDate>2017-07-01</creationDate> <version>2.0</version> <author>Admin</author> <authorUrl>http://web-start.top</authorUrl> <description>JoomTest2 site</description> <files> <folder>css </folder> <folder>images </folder> <folder>js </folder> <file>index.html </file> <file>index.php </file> <file>templateDetails.xml </file> <file>template_preview.png</file> <file>template_thumbnail.png</file> </files> <positions> <position>position1</position> <position>position2</position> <position>debug</position> </positions> <languages folder="language"> <language tag="en-GB">en-GB/en-GB.tpl_JoomTest2.ini</language> <language tag="ru-RU">ru-RU/ru-RU.tpl_JoomTest2.ini</language> </languages> <config> <fields name="params"> <fieldset name="basic"> <field name="siteTitle" type="text" size="50" label="TPL_SITE_TITLE" description="TPL_SITE_TITLE_DESCRIPTION"/> </fieldset> </fields> </config> </extension>

    index.php - PHP код страницы шаблона

    <?php defined('_JEXEC') or die; ?> <!DOCTYPE html> <html> <head> <jdoc:include type="head" /> <link rel="stylesheet" href="/<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/JoomTest2.css" type="text/css" /> <script src="/<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/js/JoomTest2.js" ></script> </head> <body> <div id="wrapper"> <div id="content"> <div id="header"><?php echo $this->params->get( 'siteTitle' ) ?></div> <div id="left"> <jdoc:include type="modules" name="position1" /></div> <div id="articles"> <jdoc:include type="component" /> </div> </div> <div id="footer"><jdoc:include type="modules" name="position2" /></div> </div> <div id="copy">&copy; All rights reserved.</div> <jdoc:include type="modules" name="debug" /> </body> </html>

    JoomTest2.css - CSS стили

    BODY{ padding :0px; margin :0px; background-color:#efefef; } #wrapper{ width :100%; text-align :center; } #content{ display :inline-block; min-height :200px; width :1000px; background-color:#eee; border :1px solid #aaa; text-indent :20px; text-align :left; padding:20px; } #header{ width :100%; height :50px; border-bottom :1px solid #ddd; text-align :center; font-weight :bolder; font-size :2em; } #left{ float :left; width :30%; min-height :600px; background-color:#aaa; } #articles{ float :right; width :65%; min-height :600px; background-color:#eee; } #footer{ width :100%; height :50px; text-align :center; } #copy{ text-align :center; } LI{ list-style-type :circle; text-align :left; }

    en-GB.tpl_JoomTest2.ini - описание переменых и их значений для английского языка

    TPL_SITE_TITLE = "Site header" ; TPL_SITE_TITLE_DESCRIPTION = "Site header text";

    ru-RU.tpl_JoomTest2.ini

    TPL_SITE_TITLE = "Заголовок сайта" ; TPL_SITE_TITLE_DESCRIPTION = "Текст заголовка сайта";



    Дополнительные пояснения

    PHP код, который проверяет, установлена ли Joomla, работает ли Joomla Framework:

    <?php defined('_JEXEC') or die; ?>

    Если шаблон использует параметры (описанные в файле templateDetails.xml XML тегом <config>), то значения этих параметров могут быть измененв через административную пенель Joomla, в свойствах шаблона. Использовать их значение в PHP программе можно так: 

    echo $this->params->get( 'ИМЯ_ПАРАМЕТРА' )

    Часто в файле index.php возникает необходимость получить путь к папке шаблона:

    <?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>

    Задание позиции в файле index.php с именем position1 (под этим же именем она должна быть описана в XML - файле templateDetails.xml XML тегом <positions>):

    <jdoc:include type="modules" name="position1" />

    Или

    <jdoc:include type="module" name="breadcrumbs" title="Breadcrumbs" />

    <jdoc:include type="module" name="mainmenu" title="Main Menu" />


    Задание в файле index.php позиции, которую Joomla использует для вывода материалов сайта-статей (target для меню):

    <jdoc:include type="component" />

    Определение позиции для вывода системных сообщений Joomla:

    <jdoc:include type="message" />