Доброго часу проведеня, шановні учасники форуму. Пропоную до Вашої уваги цікавий список,
<?php
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
use Joomla\CMS\Helper\ModuleHelper;
use Joomla\Component\Fields\Administrator\Helper\FieldsHelper;
use Joomla\CMS\Router\Route;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
// Перегляд параметрів і полів об'єкта матеріалу
echo '<pre>';
echo var_dump($this->item); // Використовуйте $this->item для відображення даних об'єкта
echo '</pre>';
die;
?>
<p><span class="copy">©</span><?php echo date('Y'); ?>.</p>
<!--------------------------------------------------------------------------------------------------------------------->
<?php echo Text::_('JERROR_LAYOUT_SEARCH_PAGE'); // Виведення тексту з мовних змінних ?>
<?php echo mb_strimwidth($this->item->introtext, 0, 150, "..."); // Обрізка тексту до 150 символів ?>
<p><?php echo HTMLHelper::_('date', $this->item->created, 'd.m.Y H:i'); // Форматування дати ?></p>
<!--------------------------------------------------------------------------------------------------------------------->
<?php // Робота із зображеннями матеріалу
$images = json_decode($this->item->images);
$img_alt = $images->image_intro_alt ?? 'image';
$img_title = !empty($images->image_intro_caption) ? 'title="' . htmlspecialchars($images->image_intro_caption) . '"' : '';
?>
<img src="<?php echo htmlspecialchars($images->image_intro); ?>" alt="<?php echo $img_alt; ?>" <?php echo $img_title; ?>>
<?php
$link = Route::_(Joomla\Component\Content\Site\Helper\RouteHelper::getArticleRoute($this->item->id, $this->item->catid));
?>
<a href="<?php echo $link; ?>">Докладніше</a>
<!--------------------------------------------------------------------------------------------------------------------->
<?php
// Виведення модуля всередині шаблону
$modules = ModuleHelper::getModules('services-menu');
$attribs = ['style' => 'none'];
if (!empty($modules)) {
echo ModuleHelper::renderModule($modules[0], $attribs);
}
?>
<!--------------------------------------------------------------------------------------------------------------------->
<?php
// Отримання шляху до поточного шаблону
$app = Factory::getApplication();
$templatePath = $app->getTemplate(true)->template;
?>
<!--------------------------------------------------------------------------------------------------------------------->
<?php // Дані з додаткових полів матеріалу
$this->item->jcfields = FieldsHelper::getFields('com_content.article', $this->item, true);
$fields = [];
foreach ($this->item->jcfields as $jcfield) {
$fields[$jcfield->name] = $jcfield->value;
}
?>
<p><?php echo htmlspecialchars($fields['tsena'] ?? ''); ?></p>
<!--------------------------------------------------------------------------------------------------------------------->
<?php // Відключення скриптів у шаблоні
$doc = Factory::getDocument();
unset(
$doc->_scripts[$this->baseurl . '/media/system/js/caption.js']
);
?>
<!--------------------------------------------------------------------------------------------------------------------->
<?php
// Перевірка головної сторінки
$uri = trim(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH), '/');
if (empty($uri)) : ?>
<jdoc:include type="modules" name="main-content" style="none" />
<?php else : ?>
<jdoc:include type="component" />
<?php endif; ?>
<!--------------------------------------------------------------------------------------------------------------------->
<?php
use Joomla\CMS\User\UserHelper;
// Перевірка авторизації користувача
$user = Factory::getUser();
?>
<div itemprop="articleBody" class="articleBody">
<?php if ($user->guest) : ?>
<?php echo $this->item->introtext; ?>
<div class="info_message">Авторизуйтеся, щоб побачити всю статтю...</div>
<?php else : ?>
<?php echo $this->item->text; ?>
<?php endif; ?>
</div>
<!--------------------------------------------------------------------------------------------------------------------->
<?php // Приклад заповнення JSON-LD Schema.org
if ($uri === "contacts") {
echo '<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Organization",
"url": "https://sitename.com.ua",
"logo": "https://sitename.com.ua/files/open_graph/logo.jpg",
"name": "Sitename.com.ua - Супер сайт",
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+38 (011) 111-11-11",
"contactType": "sales"
}
}
</script>';
}
?>
<!--------------------------------------------------------------------------------------------------------------------->
<?php
// Встановлення мета-даних
$doc->setMetaData('robots', 'noindex, nofollow');
?>
Якщо у Вас є зауваження до цього списку, або доповнення, буду радий. Дякую. Гарного дня.