Tôi muốn hiển thị bài viết giới thiệu văn bản và hình ảnh mục của tôi với liên kết đến toàn bộ bài viết trong trang kết quả cho Thẻ Joomla.
Có cách nào để làm điều này không, hoặc làm thế nào tôi có thể sửa đổi mã để có được kết quả mong đợi?
Tôi đã cố gắng thêm vào các thành phần\com_tags\lượt xem\tag\tmpl\default_items.php <?php echo $this->item->introtext; ?>
nhưng nó không hoạt động ở đó như trong các trường hợp khác. Tôi không biết php đủ tốt, vì vậy muốn biết nếu có đề xuất khác.
Cảm ơn
Hãy thử điều này (đã thử nghiệm và hoạt động trong Joomla 3.3.0):
Đặt mã này :
<?php
//introtext
echo $item->text;
//image
$images = json_decode($item->core_images);
echo '<img src="'.$images->image_intro.'">';
//get category name by id
$db = JFactory::getDbo();
$id = $item->core_catid;
$db->setQuery("SELECT cat.title FROM #__categories cat WHERE cat.id='$id'");
$category = $db->loadResult();
echo '<p>'.$category.'</p>';
?>
vào tập tin này :
mẫu/yourtemplate/html/com_tags/tag/default_items.php
cần được sao chép từ:
thành phần\com_tags\lượt xem\tag\tmpl\default_items.php
giữa hai dòng này
<?php foreach ($items as $i => $item) : ?> //Line 63 <?php endforeach; ?>
Bạn có thể sử dụng bất kỳ biến nào trong số này (<?php echo $item->useonefromthelist; ?>
) Để sửa đổi đầu ra thẻ :
type_alias
content_item_id
core_content_id
match_count
tag_date
core_title
core_alias
core_body
core_state
core_access
core_metadata
core_created_user_id
core_created_by_alias
core_created_time
core_images
core_modified_time
core_language
core_catid
core_publish_up
core_publish_down
content_type_title
router
author
author_email
link
displayDate
event
text
core_params
Làm thế nào tôi có được danh sách này?
<pre>
<?php print_r($item); ?>
</pre>
Giải pháp này đã làm việc rất tốt cho bản thân tôi. Văn bản giới thiệu vẫn còn quá dài nên tôi rút ngắn nó xuống còn 300 ký tự. Xem bên dưới. Tôi đã thêm mã chính trong câu trả lời đầu tiên ở trên ngay sau thẻ h3 và sau đó chỉ sửa đổi phần văn bản giới thiệu. Tôi đã không sử dụng tên danh mục. Tôi đã thêm liên kết đến bài viết chính trong liên kết đọc thêm và cũng cho ...
Đây là tổng số mã tôi đã sử dụng trong Joomla 3.6, bao gồm cả thẻ h3 ...
<h3>
<a href="<?php echo JRoute::_(TagsHelperRoute::getItemRoute($item->content_item_id, $item->core_alias, $item->core_catid, $item->core_language, $item->type_alias, $item->router)); ?>">
<?php echo $this->escape($item->core_title); ?>
</a>
</h3>
<?php
//image
$images = json_decode($item->core_images);
echo '<p><img class="intro-image" src="'.$images->image_intro.'"></p>';
//introtext
$limit =300;
if (strlen($item->text) > $limit) {
echo (substr($item->text, 0, $limit)) ?> <a href="<?php echo JRoute::_(TagsHelperRoute::getItemRoute($item->content_item_id, $item->core_alias, $item->core_catid, $item->core_language, $item->type_alias, $item->router)); ?>">...</a>
<?php
}
else {
echo $item->text;
}
?>
<p>
<a class="read-more" href="<?php echo JRoute::_(TagsHelperRoute::getItemRoute($item->content_item_id, $item->core_alias, $item->core_catid, $item->core_language, $item->type_alias, $item->router)); ?>">Read more</a>
</p>
Thứ nhất, không nên chỉnh sửa trực tiếp ghi đè mẫu tại chỗ.
Google html ghi đè để biết thêm thông tin nhưng tóm lại, đối với trường hợp trên:
Bạn có thể chỉnh sửa nó ở đó nó sẽ không bị ghi đè sau khi cập nhật.
Đối với những gì bạn muốn làm ở trên tôi nghĩ bạn sẽ thấy điều này phức tạp hơn bạn nghĩ. Đầu ra nào bạn muốn khi một thẻ được liên kết với nhiều bài viết đó? Những gì tôi sẽ làm ở đây là xem xét sửa đổi một mô-đun đã làm hầu hết những gì bạn muốn. Một cái gì đó giống như mô-đun "Thẻ tương tự". Sẽ dễ dàng hơn để tạo một phiên bản sửa đổi của điều đó và gọi nó vào trang kết quả thẻ.