Vì vấn đề này dường như đã được hỏi nhiều lần và vẫn chưa có câu trả lời tốt cho vấn đề đó, tôi muốn thử cung cấp giải pháp của tôi từ phía ghi đè mẫu. Các bước khá phức tạp nhưng nó phải dễ dàng.
Lưu ý: Tôi đang sử dụng Joomla 3.4.4 và protostar mẫu trong khi tạo hướng dẫn này
Đầu tiên, sao chép tập tin này:
[root]/components/com_tags/views/tag/tmpl/default.php
[root]/components/com_tags/views/tag/tmpl/default.xml
[root]/components/com_tags/views/tag/tmpl/default_items.php
đến
[root]/templates/your_template_name/html/com_tags/tag/default.php
[root]/templates/your_template_name/html/com_tags/tag/default.xml
[root]/templates/your_template_name/html/com_tags/tag/default_items.php
thay thế tên tệp thành một cái gì đó bạn thích, ví dụ 'Tagblog', vì vậy nó sẽ trở thành:
[root]/templates/your_template_name/html/com_tags/tag/taggedblog.php
[root]/templates/your_template_name/html/com_tags/tag/taggedblog.xml
[root]/templates/your_template_name/html/com_tags/tag/taggedblog_items.php
Mở tệp [root] /temsheet/your_template_name/html/com_tags/tag/taggedblog.xml ở đầu tệp bạn sẽ thấy mã này:
<layout title="com_tags_tag_view_default_title" option="com_tags_tag_view_default_option">
thay đổi nó thành
<layout title="Tagged Blog" option="taggedblog">
Tại thời điểm này, bạn sẽ thấy một loại mục menu mới có tên là Tagged Blog khi tạo một mục menu mới từ trình quản lý menu của bạn. Xem hình ảnh này dưới đây
Bây giờ, Mở tệp [root] /temsheet/your_template_name/html/com_tags/tag/taggedblog_items.php
tại dòng 62 xóa mã này:
<ul class="category list-striped">
và nó </ul>
đóng thẻ ở dòng 90
sau đó, vẫn trên cùng một tệp, xóa các mã này bắt đầu ở dòng 64:
<?php if ($item->core_state == 0) : ?>
<li class="system-unpublished cat-list-row<?php echo $i % 2; ?>">
<?php else: ?>
<li class="cat-list-row<?php echo $i % 2; ?> clearfix" >
<?php endif; ?>
ở dòng 70 và thẻ đóng </li>
ở dòng 85
Tiếp theo, thêm <div class="span5">
64 dòng sau mã <?php foreach ($items as $i => $item) : ?>
và thêm đóng </div>
trước<?php endforeach; ?>
Tiếp theo, dòng arround 77 trước khi mã <?php if ($this->params->get('tag_list_show_item_description', 1)) : ?>
thêm mã này:
<?php
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select('introtext')->from('#__content')->where('id=' . (int)$item->content_item_id);
$db->setQuery($query);
//displaying the intro image
$images = json_decode($item->core_images);
if(!empty($images->image_intro)) {
echo '<img src="'.$images->image_intro.'">';
}
//displaying the intro text
$introtext = $db->loadResult();
echo $introtext;
?>
Tại thời điểm này, hình ảnh introtext và intro nên được hiển thị trên trang web.
Bây giờ, hãy mở tệp [root] /temsheet/your_template_name/html/com_tags/tag/taggedblog.php , xung quanh dòng 51 bạn sẽ thấy mã này <?php echo $this->loadTemplate('items'); ?>
, thay đổi dòng đó thành:
<div class="row"><?php echo $this->loadTemplate('items'); ?></div>
Đó là tất cả.
Bây giờ hãy thử tạo một mục menu với loại Blog được gắn thẻ từ trình quản lý menu j Joomla của bạn và xem kết quả.
Để làm cho mọi thứ dễ dàng hơn, tôi đã tải lên các tệp ở trên tại đây . Chúc vui vẻ!