Где лежит файл head joomla

Обновлено: 07.07.2024

наиболее важные директории и их назначение в работе Joomla-сайта

  • cache — сюда централизованная система кеширования помещает все предварительно обработанные файлы для ускорения выдачи страниц.
  • administrator — директория отвечает за панель управления сайта. По большому счету структура повторяется
    • components — место установки компонентов для работы администратора
    • includes — здесь хранятся файлы реализующие Application Layer в приложении.
    • language — в этой папке хранятся локализации панели управления сайта
    • templates — директория с шаблонами 'а
    • modules — папка с администраторскими модулями, такими как toolbar, или панель быстрого доступа.
    • components — в этой директории хранятся файлы всех установленных в системе компонентов. Каждый компонент обязан иметь определенный набор файлов предписанный и выбранной моделью.
    • images — директория для изображений и файлов Joomla.
      • stories — в которую сохраняются пользовательские изображения.
      • banners — тут располагаются файлы баннеров (gif, jpg, swf и другие форматы) для стандартного компонента "Баннеры".
      • M_images — здесь располагаются иконки и небольшие картинки для сайта.

      Напишите еще относительно файла robots.txt, какие папки точно надо скрывать от роботов, а какие можно оставить для индексации. Статья была бы полезней )

      А почему не описали папку MEDIA ?

      Для чего она? Что в ней лежит? Можно ли удалить ее содержимое?

      If you think that this might be a fascinating wealth-building home

      based business for you, or perhaps something to supplement your revenue, then use a look.

      He has founded many organizations like the XL Nation that regularly organizes events

      to make sure that all of the latest activities that Roger with his fantastic supporters take part in are communicated properly for the

      interested people and organizations. Yes, insurance minimizes you against losing almost everything you

      worked so difficult to construct.

      На выходных Я сорвал джекпот в этом современном клубе

      В прошлом месяцк Я разбогател в этом крутом клубе

      Make surе that you start in the edges going іnward to ѕtop

      the stain frоm spreading. Marketing ?sing Google Ad - ?ords fоr Instant Business

      - We f?und majority of franchose owners ?an be a bit skeptical аbout spendung their marketing dollars оn Google Ad - Words in t?is

      ecolnomy гather t?ey mig?t prefer not to ddo it. ?any companies may wwill givee ?ou verbal guarantee ?ut the? aгe quoting to the job, but it іs amazing t?e frequency оf w?ich these guarantees changе or disappear entirely when thе? hap?en to b? hired.

      ?hat's up, Steve hwre at Bridges.

      Serіouѕly “Структура папок Joomla, наиболее важные директории

      и их назначение в работе Джумла-сайта / Общие понятия .:

      . Документация Joomla! CMS” is definitely ann original topic

      Merely wanted to say that I ?ioed reаding your blog.

      Hey there would you mind stating which blog

      platform you're working with? I'm going to start my own blog soon but I'm having a hard time selecting

      between BlogEngine/Wordpress/B2evolution and Drupal.

      The reason I ask is because your design and style seems different then most

      Периодически работая с версиями для слабовидящих, я особо не заморачивался и зачастую все «шаблонные» вопросы решал брутальным способом. Вырезая часть программного кода, и вставляя готовый результат в html шаблона. Это допустимо, когда шаблон не собираются менять, но не практично, когда нет уверенности в том, что завтра шаблон не поменяют.

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

      Так случилось и в этот раз. А вдобавок к этому на сайте был задействован альтернативный модуль меню (выпадающего), имеющий свою собственную таблицу стилей (css). Раньше бы я объединил все стили в один имеющийся, в этот раз пришлось работать иначе.

      Для начала давайте разберёмся, каким образом это вообще работает. У нас есть CMS с базовыми настройками. Далее, нас не устраивает внешний вид и чтобы «не ковыряться» самому мы ищем/находим шаблон (благо их в сети великое множество), устанавливаем. И поверх «базовых настроек» устанавливается ещё одна таблица стилей.

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

      И каждый элемент системы, возможно, пожелает добавить свою таблицу стилей в общий «массив».

      Если Вы ознакомились с обзором о версии слабовидящих, Вы увидели бы что в процессе требуется указать id для строки link. И здесь возникает два возможных вариант, первый (которым я пользовался ранее) – вырывать нужную строку и прописывать id «вне» массива. Вариант второй – прописать id всем строкам в массиве.

      Для этого придётся открывать системный файл:

      ВНИМАНИЕ: будьте бдительны, при обновлении Joomla система может изменить этот файл обратно. Собственно по этой причине я и предпочитаю 1-й вариант (брутальный) правки шаблона.

      Здесь находим следующую строку:

      // Generate stylesheet links

      // Generate stylesheet links
      foreach ($document->_styleSheets as $strSrc => $strAttr)
      $buffer .= $tab . '<link rel="stylesheet" href="' . $strSrc . '" type="' . $strAttr['mime'] . '"';
      if (!is_null($strAttr['media']))
      $buffer .= ' media="' . $strAttr['media'] . '" ';
      >
      if ($temp = JArrayHelper::toString($strAttr['attribs']))
      $buffer .= ' ' . $temp;
      >
      $buffer .= $tagEnd . $lnEnd;
      >

      // Generate stylesheet links
      $a = 1;
      foreach ($document->_styleSheets as $strSrc => $strAttr)
      $buffer .= $tab . '<link rel="stylesheet" href="' . $strSrc . '" type="' . $strAttr['mime'] . '"';
      if (!is_null($strAttr['media']))
      $buffer .= ' media="' . $strAttr['media'] . '" ';
      >
      if ($temp = JArrayHelper::toString($strAttr['attribs']))
      $buffer .= ' ' . $temp;
      >
      $buffer .= $tagEnd . $lnEnd;
      >

      Здесь была добавлена строка с переменной $a = 1; перед началом массива, и строка id. Если Вы не знакомы с азами программирования на php, поясню, $a++ значит следующее: значение a(1) +1. Таким образом, каждой новой строке будет придаваться значение +1 от предыдущего значения (1,2,3,4 и т.д.).

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

      В одной из прошлых статей по теме «верстка шаблона Joomla» я создал каталог будущего шаблона и в нём создал базовый файл шаблона index.php. Скорее это был макет файла, со всем необходимым минимумом наполнения. Вот он:

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

      Файл index.php Joomla

      Файл index.php это основной файл каждой страницы сайта, задающий её структуру. В отличие от показанного файла, файлы index.php других шаблонов массивны и имеют 200-300 строк. Однако, несмотря на кажущуюся массивность, в них легко просматривается классическая HTML верстка страницы с объявлением типа документа, частей head (заголовок), body (тело) и footer (подвал). Но начинается любой файл index.php любого шаблона Joomla со строки безопасности:

      Объявление типа документа

      Заявленный тип документа, основной для Joomla версий 3+ и совместим с HTML5.

      Третья строка, с атрибутом xml:lang , извлекает язык документа из глобальной конфигурации системы.

      Примечание: атрибут xml:lang используется только в XHTML-документах, для указания язык всего текста. Если xml:lang включить в отдельные фрагменты (теги) документа, то язык будет указан только для этого фрагмента.

      Так как Joomla многоязыковая система, то мы не указываем один язык, напрмиер, xml:lang="ru", а показываем, что берём язык из глобальной конфигурации системы.

      Итог 1.

      Получили первую часть файла index.php Joomla сайта, которую назовём «вступительная часть».

      Заголовок head

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

      Файл index.php в разделе head, сразу после тега <head> должен содержать строку:

      jdoc:include это метод вывода информации на фронэнд страницах сайта, принятый для системы Joomla. Существуют следующе типы (type) элементов вывода.

      Подключаем свои стили тегом link , с атрибутом rel :

      Если своих стилей нет или они не полные, подключаем стили системы:

      Завершаем раздел head тегом </head> . В итоге раздел head шаблона выглядит так:

      Раздел body

      Раздел body это тело страницы. Здесь используя декларации jdoc:include нужно вывести оснвоное содержание (component) и модули (module).

      Самый простой вариант раздела body для Joomla шаблона:

      , где на странице будут два модуля с названиями top и bootom , а между ними основное содержание страницы.

      Напоминаю, что все выводимые здесь модули, должны быть указаны в файле templateDetails.xml.

      Завершаем раздел body тегом </body> .

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

      Создаем свой шаблон для Joomla

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

      Зачем это нужно? Наверняка вы слышали о том, что CMS Joomla «тяжелая», в ней постоянно выскакивают ошибки, «едет» верстка, «отваливаются» скрипты. В основном это связано с шаблоном, который вы используете, а именно – с подключением множества плагинов и скриптов, фреймворков (как css/js, так и php), которые в процессе работы сайта и для его продуктивности практически не нужны. Поэтому мы сталкиваемся с долгой загрузкой в Google Page Speed и многочисленными ошибками, которые влияют на продвижение сайта в поисковиках.

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

      Итак, статья для вас, если:

      1. Вы хотите создавать свои шаблоны для CMS Joomla 3.x и продавать их либо обеспечивать удобство для наполнения контентом и ведения для заказчика.
      2. Если вам надоели клубные «тяжелые» шаблоны с кучей ненужных настроек и скриптов.
      3. Если не хотите использовать шаблоны со сторонними ссылками и вредоносным кодом, что снижает шансы на продвижение ресурса.

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

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

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

      1. templateDetails.xml – файл, в котором мы описываем информацию о разработчике, версии, вносим информацию о содержимом, позиции модулей, языковые файлы, настройки.

      2. template_preview.jpg, template_thumbnail.jpg – изображения шаблона, можно в Adobe Photoshop сделать в виде иконок. У меня они такие:

      Изображение шаблона Joomla


      3. index.php – главный файл, в котором будет подключение скриптов, параметров, модули. И самое главное – верстка.

      4. index.html – пустой файл html, который должен содержаться в каждой папке, чтобы мошенники не смогли просмотреть содержимое.

      5. error.php – страница 404, можно настраивать как угодно, тем самым уйти от стандартной страницы 404 Joomla, которая выглядит не очень презентабельно :)

      6. language – языковые файлы, если собираетесь делать шаблон мультиязычным.

      7. js – папка со скриптами, со временем можно подключить все самое необходимое для работы сайта.

      8. images – говорит само за себя, здесь хранятся картинки шаблона. Рекомендую здесь хранить картинки, относящиеся только к оформлению, так как будет неудобно грузить картинки для статей именно в папку шаблона.

      9. html – папка для переопределения модулей и компонентов Joomla. Об этом поговорим позже, но, забегая вперед, скажу, что в этой папке храним все то, что не должно перезаписаться при обновлении модуля или компонента.

      10. fonts – в эту папку можно подключить шрифты для сайта, если таковых нет на Google Fonts. Гугл шрифты лучше подключать через основной шаблон. Так вы получите более высокую оценку в Google Page Speed.

      11. css – папка со стилями для шаблона, которые мы подключим к нашему шаблону.

      Файл templateDetails.xml

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

      Файл templateDetails.xml


      1. Первая строчка обязательная, содержит версию xml и кодировку:

      2. Далее открываем тег extension и начинаем описывать наше приложение:

      Указываем версию Joomla, тип расширения, клиент установки и метод установки.

      3. Рассмотрим следующие строчки.

      В данном виде содержится языковая переменная (как пример), ниже рассмотрим, как это используется на практике.

      Здесь и так все понятно :)

      Тоже не нуждается в пояснении:

      Информация о лицензии:

      Всю информацию в этом блоке описываете на свое усмотрение.

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

      Важно: частой ошибкой при установке бывает либо отсутствие файла index.html во всех папках, либо отсутствие самого файла – поэтому важно проверить соответствие файлов и папок в описании и по факту.

      Файловое содержание templateDetails.xml


      5. Языковые файлы. Если вы делаете шаблон для русскоязычной аудитории – в этом нет необходимости, можно не добавлять этот раздел, а в теге description выше в описании шаблона можно просто написать русское описание напрямую. Но, если приложение предназначено и для других стран, достаточно будет добавить англоязычную версию по примеру ниже.

      Языковые файлы Joomla

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

      Самое главное – верно указать теги и названия файлов. Все аналогично для любой локализации, сейчас рассматриваем на примере русской локализации.

      • ru-RU.tpl_universum.ini – для лицевой части шаблона, отображения на сайте.
      • ru-RU.tpl_universum.sys.ini – для административной части. Описываем позиции модулей, переменные, описание настроек.

      Выше мы добавили:

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

      Открываем файл ru-RU.tpl_universum.ini и записываем значение переменной:

      Важно: каждая языковая переменная описывается с новой строчки.

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

      Description Joomla

      Чтобы увидеть эту же информацию в настройках, необходимо эту же переменную добавить в файл ru-RU.tpl_universum.sys.ini:

      ru-RU.tpl_universum.sys.ini

      Идем дальше.

      6. Описываем позиции шаблона (что и где у нас будет выводится), для этого потребуется раздел positions:

      Positions шаблон Joomla

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

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

      Параметры шаблона Joomla

      Задать настройки шаблона нам поможет раздел config. Вот так выглядят параметры в админ-панели Joomla:

      Config Joomla

      Тегом <fieldset name="basic"> можно задать вкладки, внутри fieldset располагаем поля настроек. Рассмотрим, из чего состоят поля.

      Значение по умолчанию (может отличаться в зависимости от типа поля):

      Все типы полей можно посмотреть на официальном сайте Joomla.

      Языковые переменные, о которых мы говорили выше, их необходимо прописать в файле ru-RU.tpl_universum.sys.ini для отображения в админке:

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

      Читайте также: