it-swarm-vi.com

Sửa đổi trang Joomla Thẻ kết quả

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

4
gag

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>
7
Joomla Agency

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> 
0
Donald Ax

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:

  • sao chép thư mục tmpl từ các thành phần\com_tags\view\tag vào mẫu/yourtemplate/html/com_tags /
  • đổi tên thành thẻ

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ẻ.

0
BodgeIT