Как создать свой собственный шаблон для Joomla 2.5 и Joomla 3

"Все аспекты самостоятельного создания и продвижения сайтов
от практика с многолетним опытом." — блог Рудь Сергея
info@site-on.net
Заметка: активирована адаптивная версия сайта, которая автоматически подстраивается под небольшой размер Вашего браузера и скрывает некоторые детали сайта для удобства чтения. Приятного просмотра!
03.12.2013

Здравствуйте, дорогие читатели! Из-за моего отъезда у нас с вами получился опять долгий промежуток между выходом новых статей. Не знаю как вы, а я соскучился и потому сегодня мы рассмотрим очень важную тему, без которой, как я считаю, создать качественный сайт на Joomla просто невозможно!

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

Тезисно о том, почему свой шаблон всегда лучше скачанного:

Но взамен от вас потребуются:

Совсем не знаете PHP? Ничего страшного, дочитав статью, вы сможете делать всё по аналогии.

Итак, начнём!

Где находятся шаблоны Joomla?

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

Так вот все front-end шаблоны находятся в папке /templates/, в ней есть несколько папок, одна из которых system (её не трогаем), а все остальные папки – это и есть установленные нами (или по умолчанию) шаблоны.

С чего начать?

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

Внимание:

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

Я всё делаю вместе с вами и назову свою папку site-on. Далее в этой папке вы можете создавать сколько угодно любых других файлов и папок. Но есть 2 обязательных файла – это index.php и templateDetails.xml

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

Внимание:

каждая папка вашего сайта должна содержать пустой файл index.html, это приём для защиты от парсинга директорий. Кстати, на хостинге "Украина" это реализовано на уровне сервера, но всегда нужно рассчитывать только на себя, тем более не на всех хостингах будет эта опция.

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

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

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

Назвать его можно как угодно: в стиле Джумлы положено назвать его template.css, но слово template слишком длинное, поэтому я люблю называть свои файлы в стиле WordPress - style.css

И последний нюанс, давайте создадим папку html – это зарезервированное название папки в системе шаблонов Джумла. В папку html мы будем размещать файлы альтернативных макетов той или иной части сайта. Например, альтернативный макет для категории товаров VirtueMart, или альтернативный макет меню – неважно. Подробнее об этом в следующих статьях, а сейчас главное, что вы узнали об этой папке, и увидев её в чужих шаблонах, хоть немного представите о чём речь.

Не забудьте и в неё поместить пустой index.html !

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

структура шаблона

Index.php – главный файл шаблона

Файл index.php шаблона загружается каждый раз, когда посетитель заходит на ваш сайт. Это фундамент макета вашего сайта, его скелет. Вот, как приблизительно должен выглядеть этот файл в начале пути:

<?php defined( '_JEXEC' ) or die; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru-ru" lang="ru-ru" dir="ltr">
<head>
<jdoc:include type="head" />
<link rel="stylesheet" href="/templates/system/css/system.css" type="text/css" />
<link rel="stylesheet" href="/templates/system/css/general.css" type="text/css" />
<link rel="stylesheet" href="/templates/<?php echo $this->template; ?>/style.css" type="text/css" />
</head>
<body>
<jdoc:include type="message" />
<jdoc:include type="component" />
</body>
</html>

Первая строка – это защита от прямого обращения к файлам, более подробно об этом я писал в статье про константы в PHP. Эта строка обязательна, если не хотите, чтобы вас взломали.

2 и 3 строки – указываем тип документа для браузеров, можете изменить на свой, в данном примере тип документа XHTML 1.0, язык – русский, правописание: слева направо.

Далее идёт блок head, в 5 строке мы подключаем метод Джумлы, который выводит необходимую информацию в голове сайта (title страницы, мета-теги, css и js файлы модулей и компонентов). Эта строка обязательна!

В 6-8 строках мы подключаем стили нашего сайта, 6-7 строки – это стандартные стили Джумла (советую их подключить, хотя необязательно), а 8 строка, это созданный нами style.css

11 строка – это вывод системных сообщений Джумлы. Например, сообщения об ошибках при регистрации (неверный пароль, неподтверждённый адрес электронной почты), а также различные подсказки. Она не обязательна, но на самом деле я строго рекомендую её оставить, так как такие сообщения очень сильно помогают вашим пользователям, да и вам в том числе.

12 строка – это вывод основной информации страницы (текста статьи, карточки товара и тд.). Если говорить терминами джумлы, то вывод компонента для каждой страницы. Она обязательна.

Как добавить новую позицию для модуля?

Выше мы рассмотрели простейшую структуру файла index.php, вы уже можете использовать её как каркас для создания собственных шаблонов. Теперь разберёмся, как добавлять позиции для модулей, которыми так любят хвастаться производители шаблонов: "Наш шаблон содержит 69 продуманных позиций…"

Чтобы не копировать лишнего, вернёмся к блоку body:

<body>
<jdoc:include type="message" />
<jdoc:include type="component" />
</body>

Чего не хватает нашему макету? Я думаю шапки, пары колонок и подвала (футер, footer). Давайте создадим для них позиции модулей:

<body>
<jdoc:include type="modules" name="top-menu" />
<jdoc:include type="modules" name="left-column" />

<jdoc:include type="message" />
<jdoc:include type="component" />

<jdoc:include type="modules" name="right-column" />
<jdoc:include type="modules" name="footer" />
</body>

Мы создали 4 новых позиции для модулей Джумлы:

После установки шаблона все эти позиции станут доступны при выборе позиции модуля из административной панели Джумлы.

позиции шаблона

Но это был короткий вариант создания модуля. На самом деле в тех позициях, где вы собираетесь отображать несколько модулей один за другим, например, в правой и левой колонках сайта, будет удобно использовать «обрамление модуля» (оригинальное название: module chrome).

Обрамление (обёртка) модуля – это HTML структура, в которую будет обёрнут наш модуль при выводе в конкретной позиции. Обрамление служит для удобства стилизации при вёрстке и расширяет возможности вывода. Чтобы лучше понять, просто сравните 2 варианта вывода одного и того же модуля. Перед вами стандартный модуль меню (состоит из 2ух пунктов меню) без использования module chrome:

<ul class="menu">
  <li class="item-104 current active">
    <a href="/">Главная</a>
  </li>
  <li class="item-105">
    <a href="/vasha-korzina">Ваша корзина</a>
  </li>
</ul>

С использованием module chrome:

<div class="moduletable_menu">
  <h3>Верхнее меню</h3>
  <ul class="menu">
    <li class="item-104 current active">
      <a href="/">Главная</a>
    </li>
    <li class="item-105">
      <a href="/vasha-korzina">Ваша корзина</a>
    </li>
  </ul>
</div>

Отличий не так уж и много, но они есть и играют свою роль, во-первых, при использовании module chrome у нас на странице появилось название, которое мы записали в административной панели для этого модуля: «Верхнее меню» (см. предыдущую картинку).

Во-вторых, весь модуль обернулся в тег div с классом moduletable_menu.

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

Чтобы обернуть наши модули, мы должны к тегу позиции добавить атрибут style с названием нужной обёртки (не путайте с атрибутом style в языке HTML, они не имеют ничего общего, в нашем случае - это чисто синтаксис Joomla):

<jdoc:include type="modules" name="left-column" style="xhtml" />

Обертки, как и шаблоны, тоже можно создавать самим, но об этом в следующей статье, а теперь давайте придадим немного лоска нашему макету:

<body>
<div id="layout">
    <div id="header">
        <jdoc:include type="modules" name="top-menu"/>
    </div>

    <div id="left">
        <jdoc:include type="modules" name="left-column" style="xhtml" />
    </div>

    <div id="content">
        <jdoc:include type="message" />
        <jdoc:include type="component" />
    </div>

    <div id="right">
        <jdoc:include type="modules" name="right-column" style="xhtml" />
    </div>

    <div class="clear"></div>

    <div id="footer">
        <jdoc:include type="modules" name="footer" style="xhtml" />
    </div>
</div>
</body>

А в файл style.css напишем:

*{margin:0;padding:0;}
#layout{width:990px;margin:0 auto;}
#header{margin-bottom:20px;}
#header ul{text-align:center;}
#header ul li{list-style:none;display:inline-block;margin:0 5px;}
#left,#content,#right{float:left;}
#left{width:176px;}
#content{width:610px;margin:0 10px;}
#right{width:176px;}
#footer{margin-top:20px;}

#header,#left,#content,#right,#footer{border:1px solid grey;}
.clear{clear:both;}

И в итоге у меня получился вот такой макет:

мой макет

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

Как убрать пустую колонку?

На скриншоте я через админ. панель добавил несколько модулей в позицию right-column и несколько модулей в позицию left-column. Но что делать, если вы хотите, например, иметь 3 колонки только на главной странице, а на всех остальных по две?

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

структура шаблона

И вот что мы получаем на всех остальных страницах:

структура шаблона

А именно: внутри правой колонки ничего нет, но сама колонка осталась, мы видим её границу и она продолжает занимать место.

Чтобы полностью убрать пустую колонку, мы можем использовать проверку на PHP. Как именно ей пользоваться, дело ваше, я покажу вам свой вариант:

<?php
if (($this->countModules('right-column')==0) and ($this->countModules('left-column')==0)){
  $column = 'all-hidden';
}elseif ($this->countModules('right-column')==0){
  $column = 'right-hidden';
}elseif ($this->countModules('left-column')==0){
  $column = 'left-hidden';
}
?>
<body class="<?php if (isset($column)) echo $column ?>">

Что мы сделали? Объясняю:

if (($this->countModules('right-column')==false) and ($this->countModules('left-column')==false)){
  $column = 'all-hidden';
}

Если в позициях right-column и left-column нет модулей, то в придуманную мной переменную $column заносим текст: all-hidden. Но если в одной из этих колонок есть модули, то проверяем по аналогии каждую колонку отдельно и в зависимости от того, в какой позиции нет модулей – заносим произвольный текст. Этот текст, например, all-hidden – это название класса, которое мы выводим в самой последней строчке описанного выше кода.

То есть если у нас в правой колонке нет модулей, то мы получим:

<body class="right-hidden">

А если, например, у нас везде будут модули (и справа и слева), то получим:

<body class="">

Body с пустым классом.

А дальше дело за CSS:

/* скрыли обе колонки */
.all-hidden #right,.all-hidden #left{display:none;}
.all-hidden #content{width:100%;}

/* скрыли только правую колонку */
.right-hidden #right{display:none;}
.right-hidden #content{width:786px;}

/* скрыли только левую колонку */
.left-hidden #left{display:none;}
.left-hidden #content{width:786px;}

Результат:

структура шаблона

Это лишь вариант, как можно было применять эту проверку:

if ($this->countModules('название позиции')==0){
…
}

Где $this->countModules() – это встроенный PHP метод Джумлы, который возвращает число модулей в данной позиции.

Только что был представлен элементарный кусок PHP кода, поэтому если вы ничего не поняли – ничего страшного, просто зайдите в раздел PHP данного блога и внимательно прочитайте всё с первой статьи до статьи под названием: урок 3 (включительно). Не пугайтесь, там немного, но вам сразу станет гораздо понятней.

Настройки файла templateDetails.xml – установочный пролог

Шаблон мы создали, осталось установить.

Файл templateDetails.xml – это файл установки, без него невозможно установить созданный нами шаблон через установщик Джумлы.

В нашем случае он будет выглядеть так (и для версии 2.5 и для Joomla 3.x):

<?xml version="1.0" encoding="utf-8"?>
<extension version="2.5" type="template" client="site">
        <name>site-on</name>
        <creationDate>01.12.2013</creationDate>
        <author>Rud Sergey</author>
        <authorEmail>info@site-on.net</authorEmail>
        <authorUrl>http://site-on.net</authorUrl>
        <copyright>Rud Sergey 2013</copyright>
        <license>GNU/GPL</license>
        <version>1.0.0</version>
        <description><![CDATA[Профессиональный шаблон, созданный по инструкции блога о создании и продвижении сайтов: <a target="_blank" href="http://site-on.net/">Site on!</a>]]></description>
        <files>
                <filename>index.php</filename>
                <filename>index.html</filename>
                <filename>templateDetails.xml</filename>
                <filename>style.css</filename>
                <folder>images</folder>
                <folder>html</folder>
        </files>
        <positions>
                <position>top-menu</position>
                <position>left-column</position>
                <position>right-column</position>
                <position>footer</position>
        </positions>
</extension>

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

<name>site-on</name>
<creationDate>01.12.2013</creationDate>
<author>Rud Sergey</author>
<authorEmail>info@site-on.net</authorEmail>
<authorUrl>http://site-on.net</authorUrl>
<copyright>Rud Sergey 2013</copyright>
<license>GNU/GPL</license>
<version>1.0.0</version>
<description><![CDATA[Профессиональный шаблон, созданный по инструкции блога о создании и продвижении сайтов: <a target="_blank" href="http://site-on.net/">Site on!</a>]]></description>

Затем мы перечисляем все папки и файлы, которые находятся в корне нашего шаблона:

<files>
<filename>index.php</filename>
<filename>index.html</filename>
<filename>templateDetails.xml</filename>
<filename>style.css</filename>
<folder>images</folder>
<folder>html</folder>
</files>

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

Внимание:

папки не должны быть пустыми! В них должен быть хотя бы 1 файл, как минимум – пустой index.html

Далее мы перечисляем названия всех позиций:

<positions>
<position>top-menu</position>
<position>left-column</position>
<position>right-column</position>
<position>footer</position>
</positions>

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

Упаковка шаблона для инсталляции

Всё готово, осталось только создать архив с шаблоном. Поддерживаются архивы форматов: ZIP (.zip), TAR-gzip (.tar.gz) и TAR-bz2 (.tar.bz2). После создания архива, вам остаётся установить свой шаблон через стандартный установщик Джумла, так, как вы делаете с любым другим шаблоном или расширением. Прямая ссылка на скачивание шаблона из данной статьи:

Скачано 742 раз.

Давайте подведём итоги. Сегодня мы получили все необходимые знания для создания шаблонов под Joomla 2.5 и Joomla 3. Создали трёх колоночный макет сайта и научились динамически менять количество колонок.

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

Всем спасибо за внимание, незабываем подписываться удобным для вас способом (почта, соц. сети, RSS). Для вас – только актуальная информация из мира веб-технологий!

С уважением, .
Пожалуйста, оцените эту статью
Средняя оценка: 4.86 из 5 (проголосовало: 139)
Статья оказалась вам полезной? Подпишитесь, чтобы не пропустить новые!

Ваш email:
Вы можете помочь развитию проекта, сделав всего 1 клик:
Спасибо!
Пожалуйста, прокомментируйте, как Вам моя статья?
Имя:
Комментарий:

Если Вы хотите вставить код, пожалуйста, заключайте его в [code][/code]

Подписаться на новые комментарии:

E-mail:


Защита от спама: пожалуйста, напишите слово "сел" справа налево
Ответ:
Подписаться на новые комментарии без комментирования - Email:
Защита от спама: пожалуйста, напишите слово "сел" справа налево
Ответ:

04.12.2013 17:35:03 Snake 60:
Спасибо, познавательно и доступно для понимания :)
Продолжай в том же духе :up:

Ответить на комментарий


25.12.2013 17:06:08 Дмитрий:
эта статья хорошая. но тяжелый литературный жанр автора. путаются слова.
код <?php
if (($this->countModules('right-column')==0) and ($this->countModules('left-column')==0)){
$column = 'all-hidden';
непонятно то куда вставлять вместо чего.
потом я не согласен что надо сначала все написать
. а в конце xml оформлять. блин, сначала пример, потом код. это не разумно. надо сначала структуру, xml, потом код и потом пример в конце. бессмысленно приводить пример в начале.

Ответить на комментарий


25.02.2014 21:48:15 Elly:
Спасибо ОГРОМНОЕ!
Очень-очень понятно, доступным языком написано. Для начинающих-Ваш сайт просто клад. Спасибо еще раз!
26.02.2014 11:01:53 Сергей отвечает:
И Вам спасибо за комментарий. Благодаря комментариям блог не стоит на месте.
05.03.2014 13:26:56 vic отвечает:
да спасибо,просто как апельсин=)
30.06.2014 13:16:07 Andrej отвечает:
respect автору. все очень доступно

Ответить на комментарий


03.04.2014 23:39:36 Алексей:
Спасибо за замечательное пояснение.
Первый раз вижу что так все доступно изложено как для человека который только только начинает во всей этой кухни варится.
Сколько раз искал, но что бы так понятно и доходчиво - первый раз, за что и СПАСИБО !!!!

Ответить на комментарий


07.04.2014 20:22:47 Александр:
Благодарю за полезную информацию, пригодилась!

Ответить на комментарий


29.04.2014 18:18:11 Алишер:
А файлы index.php их как создавать папкой или как?
29.04.2014 21:44:00 Сергей отвечает:
Какие файлы index.php? index.php - один единственный в корне шаблона.

Ответить на комментарий


14.05.2014 22:59:28 Юрий Йосифович:
И так, разобрался я с этим делом - шаблон написал своими руками со своими позициями следуя инструкциям этой публикации.

Браво! У меня получилось и шаблон установился!

Но вот раз уже пример на Virtuemart, то естественно в папке html нужно создать папку для Virtuemart и скопировать туда стандартные файлы из стандартного шаблона этого компонента?

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

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

Кроме того, если делать отзывчивый дизайн - то и правильнее было бы переделать полностью и шаблон этого компонента, чтобы он отображался правильно. Обычно мы знаем, сколько конкретно колонок будет отображаться, как мы хотим чтобы выглядел магазин - а значит лишние фрагменты кода которые есть "на все случаи жизни" можно было бы убрать, чтобы потом проще было разбираться с содержимым кода и его настройкой.
15.05.2014 09:12:54 Сергей отвечает:
Да, Вы правы, тема создания шаблона на этой статье не заканчивается. Сейчас я многое меняю на блоге + ещё заказы, поэтому пока нет времени продолжить. Но в ближайшее время постараюсь написать продолжение.

Ответить на комментарий


18.05.2014 15:49:09 Влад:
Всё через одно место :(
Надо всё делать по порядку!

Если человек не очень разбирается, то начинает прыгать по всей статье, в итоге путается, бросает и идёт дальше!
17.12.2014 08:45:25 Никола отвечает:
Если человек взялся за это дело, так пускай привыкает собирать и анализировать информацию. А то ткнул три кнопочки, а непонятно пойду лучше цемент таскать.

Ответить на комментарий


23.05.2014 05:36:04 Tatiana:
Большое Спасибо!!
Все очень доходчиво изложено, и самое главное разъясняется каждая строчка кода. Статья очень понравилась и пригодилась. Так же очень хорошо, что вы выложили ссылку на готовый шаблон. При наборе вручную я похоже где-то ошиблась и шаблон не загружался, но сравнив с исходным, кое что подкорректировав в конечном итоге все получилось:)
Спасибо!
23.05.2014 09:18:51 Сергей отвечает:
Рад, что помог, заходите ещё :)

Ответить на комментарий


20.06.2014 21:24:13 Азизбек:
Здравствуйте! Спасибо за статью! У меня вопрос: во всех скачанных щаблонах имеется файл modules.php в папку html. Интересно, а для чего он служит?
21.06.2014 12:50:36 Азизбек отвечает:
Очень спешил при написании.
Здравствуйте! Спасибо за статью! У меня вопрос: во всех скачанных шаблонах имеется файл modules.php в папке html. Интересно, а для чего он служит?
И после установки сделанного шаблона, установки модулей по positions и исследовании элементов в коде выводятся:

class="module jmoddiv" data-jmodediturl="http://mysite.com/administrator/index.php?option=com_modules&view=module&layout=edit&id=17" data-jmodtip="<strong>Редактировать модуль</strong><br />Навигация<br />Позиция: breadcrumb"

А как их скрыть или они скроются после установки на хостинг? Сейчас работаю на виртуальном хостинге.
<b>Спасибо заранее за ответ!</b>

Ответить на комментарий


07.07.2014 17:16:31 Илья:
Классная статья, по ней сайт сделал, можете проверить на наличие ошибок?
http://indigo-tlt.ru
http://edu-tlt.ru

Ответить на комментарий


20.08.2014 22:20:28 Андрей:
У меня нифига не отображается то оформление, которое указано в css-файле. Я даже использовал ваш окончательный файл, установил его и таже фигню что и была; css-файл не отбражается(границы div-ов нету к примеру)
22.08.2014 21:57:58 Сергей отвечает:
У меня всё работает, я сам постоянно скачиваю и использую этот шаблон, так что разбирайтесь в чём проблема, этим постоянно приходиться заниматься в нашей сфере.

Ответить на комментарий


16.09.2014 22:52:29 Кирилл:
Добавляю сайт в избранное и подписываюсь. Мало сегодня сайтов, которые приятно читать, и которые действительно полезны!
Спасибо!
17.09.2014 06:54:14 Сергей отвечает:
И Вам спасибо за комментарий. К сожалению, сейчас очень мало времени для написания новых статей, тем не менее стараюсь время от времени выкладывать новое.

Ответить на комментарий


08.10.2014 15:50:37 Алексей:
Сергей, помощи вам в борьбе с рутиной!. Ждем статьи по альтернативным макетам html и обертке xhtml, как и было обещано в этой статье.

Ответить на комментарий


29.10.2014 13:34:57 Dilya:
Всё это хорошо, всё ясно, спасибо большое. Но у меня одна проблема, как уменьшить размер позиции (например правой).
29.10.2014 22:02:23 Сергей отвечает:
Через CSS.

Ответить на комментарий


17.11.2014 13:01:12 Александлр:
Здрасти ! У меня вот такой вопрос, хочу сделать так, чтобы заголовки в статьях были разным шрифтом и цветом! Просто кучу шаблонов перепробовал, и если менял где-то цвет ссылки то цвет изменён и в меню и в заголовках ! Я б написал бы свой шаблон,но пока что нужно быстро создать сайт, а походу хочу и сам научиться !

Ответить на комментарий


24.12.2014 17:50:25 bagdygar:
Статья отличная! Последний раз верстал года 3-4 назад... Спасибо очень помог воскресить давно забытое и привнести немало нового!
Одно "но" - w3c отказались от развития XHTML полностью переключившись на HTML5.
В любом случае огромное спасибо!!! действительно узнал много нового.

Ответить на комментарий


01.03.2015 12:07:08 Эдуард:
Не могу понять, почему у меня на сайте не высвечивается ничего кроме слова 'Главная'. Даже когда я установил ваш шаблон на сайте ничего не выходит: ни корзины, ни различных надписей
01.03.2015 14:26:22 Сергей отвечает:
А модули у Вас включены? Позиции выставлены? В частности для корзины, нужно установить VirtueMart, и выбрать позицию в настройках модуля корзины. И выставить на каких страницах показывать.

Ответить на комментарий


19.03.2015 09:29:45 Дима:
В статье написано что в нашем файле index.php ( главном файле шаблона ) нужно обязательно написать первую строку
<?php defined( '_JEXEC' ) or die; ?>
. Но ведь константа еще не определина. и в статье про константы, на которую вы ссылаетесь, сказано что запись должна быть :
<?php define( '_JEXEC', 1 ) ?> а уже в других файлах php вот такой как выше.
19.03.2015 20:00:53 Сергей отвечает:
Всё правильно написано. Вы путаете index.php в шаблоне и index.php в корне сайта. В шаблоне в файле index.php, как и во всех других PHP файлах шаблона нужно первой строкой писать:
defined( '_JEXEC' ) or die;
Эта константа определяется в index.php, который в корне сайта, самим это делать не нужно.
23.03.2015 14:10:26 Дима отвечает:
Ясно, спасибо.

Ответить на комментарий


26.04.2015 16:12:57 МихалычЫ:
Добрый день!
при установке шаблона на Joomla появляется предупреждение "JInstaller: :Install: Не найден установочный XML-файл Joomla". подскажите, как быть. готов прислать файл шаблона на электронную почту. или предоставить часть кода в комментариях.
заранее спасибо.
21.07.2015 11:47:16 Евген отвечает:
Тоже самое происходит, решить проблему не получилось пока.

Ответить на комментарий


04.08.2015 19:06:21 PaZzzha:
Добрый день!
при установке шаблона на Joomla появляется предупреждение "JInstaller: :Install: Не найден установочный XML-файл Joomla". подскажите, как быть.
04.08.2015 19:56:11 PaZzzha отвечает:
проблема решена, просто была ошибка в теге)
04.08.2015 20:25:59 Сергей отвечает:
Добрый день. У Вас или в примере на этой странице?

Ответить на комментарий


15.10.2015 20:17:02 Alex:
Добрый день!
А у меня почему-то не подключались стили в исходном варианте:<link rel="stylesheet" href="/templates/<?php echo $this->template; ?>/style.css" type="text/css" />
а заработало все, когда убрал первый слеш в ссылке, т.е. вот так:
<link rel="stylesheet" href="templates/<?php echo $this->template; ?>/style.css" type="text/css" />

Ответить на комментарий


15.01.2016 17:22:26 AngelxSword:
Подписаться, подписался. Исходник качатся не хочет, подписался и на другое мыло, аналогично, не хочет качаться.
Делал по вашему примеру, ошибка "при установке шаблона на Joomla появляется предупреждение "JInstaller: :Install: Не найден установочный XML-файл Joomla". Так и не понял, что ему не нравится, может ставлю шаблон на 3.3.3 версию, через tmp или просто загрузкой .zip, ошибка одна и та же. В .zip если, никаких других архивов нет, придратся не к чему. Что может быть не так в .xml?
15.01.2016 17:28:37 AngelxSword отвечает:
Все, ссылка пришла на исходник. Но с той ошибкой, вопрос остается, когда сам по вашему гайду писал, не могу установить. Сейчас вашу буду проверять.

Ответить на комментарий

Использую для работы
Мои расширения
Свежие статьи
Рекомендую
Горячо обсуждаемые
Подписка
  • Следовать в twitter:
  • Подписаться по RSS:
  • Подписаться по E-mail:
  • Следить ВКонтакте:
  • Следить на Facebook:
Пользовательское соглашение об условиях использования сайта и Политика конфиденциальности
Перепечатывание или копирование материалов сайта (текста, изображений и другого содержимого) для их публичного или коммерческого использования в сети Интернет, либо в печатных изданиях строго запрещены. При нарушении данного правила, с нашей стороны будут предприняты соответствующие меры, вплоть до судебной жалобы.
© site-on.net
Шрифт: +стандартно-