Меню Закрыть

Jdoc include type message

Содержание

Исходя из своего опыта могу сказать следующие, в интернете полно компонентом для joomla, но не так много из этих компонентов выводят ошибки тем путем как это предусмотренно встроенными возможностями joomla. К примеру многие компоненты выводят сообщение об ошибке с помощью обычного php кода как echo ‘ошибка’. Я ничего не имею против такого метода, но считаю чего не корректным в том случае если вы сипользуюте joomla в которой предусмотрен вывод ошибок в специальную позицию .

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

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

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

Перейдем от лирики к коду.

JError::raiseWarning(100, ‘При удалении файла произошла ошибка!’);

Данный код предназначен для вывода ошибок.

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

$alias_component = JRoute::_(‘/index.php?option=com_cabinet&view=cabinet’, false);
JController::setRedirect($alias_component, ‘Логотип удален’ );
JController::redirect();

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

JFactory::getApplication()->enqueueMessage( ‘Ваша информация успешно сохранена!’ );

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

В joomla 3 для того чтоб воспользоваться к примеру вторым методом вывода сообщения в позицию jdoc:include type="message" необходимо использовать совместимость, выглядеть это будет так:

JControllerLegacy::setRedirect("/", ‘Логотип удален’ );
JControllerLegacy::redirect();

В статье Создание шаблонов для Joomla мы поверхностно коснулись темы методов вывода контента в теле шаблона. Давайте теперь подробно разберем что это и с чем его едят. Итак, объявления метода jdoc присутствуют в каждом шаблоне Joomla и выводят в тело шаблона (то бишь на страницу сайта) ту или иную информацию. В целом объявление метода выглядит следующим образом

Читайте также:  Как отличить стеклянные очки от пластиковых

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

1. type — типы элементов вывода.

  • component — как писал выше, выводит основное содержание страницы. Может вызываться только один раз в шаблоне.
  • head — объявляется так же один раз после открывающего тэга . Служит для вывода стилей, скриптов, и метаданных текущей страницы.
  • message выводит системные сообщения. Объявляется один раз в теле документа (body).
  • installation — ничего не выводит и представляет собой «инструкцию» для установки.
  • module — выводит на странице единичный модуль. Количество объявлений не ограничено.
  • modules — в отличии от предыдущего типа, позволяет выводить в своей позиции не единичое число модулей.

Для первых четырех указанных типов достаточно лишь указать их на странице. В случае с типом модуля задача немного усложняется. Для того, чтобы вывести на странице модуль нам нужно сперва создать для него модульную позицию с уникальным идентификатором (название позиции модуля). Это делается при помощи атрибута name=«имя позиции» и обязательным добавлением строки:в файл templateDetails.xml. Описывая название позиции в templateDetails.xml мы обозначаем ее в системе и видим в менеджере модулей. Имена позиций могут быть произвольными, хотя name=«user3» позиция, по-умолчанию используется для отображения верхнего меню.

2. style — описание стиля вывода (mod chrome).

От указанного стиля зависит внешний вид и структура оболочки модуля. Выглядит какПо-умолчанию заложено несколько стилей вывода модулей:

  • xhtml — выводит модуль в блоке с заголовком
  • table — выводит модуль в верстке табличной структуры
  • horz — выводит содержимое модуля в ячейке таблицы, горизонтально
  • rounded — выводит модуль в нескольких вложенных блоках для сложного стилевого оформления в виде графических границ (напр. закругленных углов)
  • outline — добавляет к блоку модуля предустановленные стили css
  • none — аналогично не указанному вообще style. Выводит модуль без оформления и заголовка
Читайте также:  Usb hub для зарядки

Все предустановленные стили располагаются в файле templates/system/html/modules.php. Но мы не ограничены использованием только предоставленных вариантов, а вполне можем создавать свои собственные.

3. Создание пользовательского mode chrome.


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

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

Назначаем в нашу позицию модуль и смотрим результат.

Материал из Joomla! Documentation

jdoc statements are included in every Joomla template and indicate where the output from other parts of Joomla or its extensions should be positioned in the overall web page. A typical jdoc statement looks like this:

Содержание

jdoc:include

The statement is a Joomla! template’s method of displaying content specific to the page being viewed. There are various statements, each returning a different part of a Joomla! page. The replacement itself is done in JDocumentHTML::_renderTemplate. See also _parseTemplate.

The type attribute

The type attribute specifies the type of content to be rendered in place of the element. For example, the statement uses the type attribute head ( type="head" ). (Note: Jdoc expressions require double quotes around attributes, and won’t work with single quotes. The space before the closing /> is also mandatory.)

Component

This element should only appear once in the element of the Template to render the main content of the page with respect to the current page being viewed.

This element should only appear once in the element of the Template to render the content of the style, script and meta elements associated with the current page.

Installation

This element is only used within the Joomla! Installer template for Joomla and below and is of no particular use in a Front-end or Back-end template. It’s somewhat the equivalent to the ‘component’ type, rendering the main content of an installation step.

Читайте также:  Как достать лоток для сим карты xiaomi

Message

This element should only appear once in the element of the Template to render system and error messages that occurred in the request.

CSS styles for system messages can be found in templatessystemcsssystem.css

Module

This element renders a single module given by the name and title attributes: name should match module type (mod_breadcrumbs and mod_menu in the examples above) while title should be the module name of the desired module. The module in question must be published and accessible by the current user in order to become visible. Additional attributes can be provided to control the layout and appearance of the module, if supported.

Modules

Modules are rendered on a page using one of the following code examples. The modules are separated into different areas of a template using template positions set in the templatedetails.xml file. Using the jdoc:include ‘s name="[template position name]" attribute, the various modules in their respective positions can be called, rendered, and styled separately. Additional attributes can be provided to control the layout and appearance of modules, if supported.

Below are some examples of module statements with module positions used frequently by Joomla! theme developers.

Note: The name="user3" module position is normally (by default) used for the top menu.

The style attribute

The optional style="" attribute is available for the module and modules types of statements. The attribute value refers to the chrome style used to wrap the output generated by the Module. If no style is provided, a value of " none " is used by default.

Template designers may add additional chrome names as described in Applying custom module chrome.

Рекомендуем к прочтению

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

Ваш адрес email не будет опубликован.