it-swarm-vi.com

Làm cách nào để truy vấn và hiển thị danh sách các thẻ lồng nhau cho một phụ huynh cụ thể ở mặt trước dưới dạng liên kết?

Cách tốt nhất để truy vấn db để tạo danh sách các thẻ khớp với cha mẹ cụ thể và hiển thị ở mặt trước dưới dạng liên kết với tiêu đề thẻ và id là gì?

Đây là một thành phần mvc j Joomla tùy chỉnh sử dụng hai trường thẻ j Joomla: "chủng loại" và "bộ sưu tập".

Khi tôi có danh sách các thẻ, sau đó tôi sẽ chuyển id thẻ dưới dạng biến trở lại trang với jinput để giới hạn kết quả trong chế độ xem danh sách thành phần.

3
user2097091

Để tạo danh sách các thẻ bạn có thể lấy getTagTreeArray () phương thức từ lớp JHelperTags làm cơ sở và sửa đổi nó cho bạn cần - bạn có thể điền vào mảng kết quả không chỉ với ID, mà còn với tên thẻ Sau đó, ở lối vào, bạn có thể sử dụng phương thức getTagRoute () của lớp TagsHelperRoute để lấy liên kết thẻ.

Hi vọng điêu nay co ich.

3
Dmitry Rekun
<?php
defined('_JEXEC') or die; // Joomla
$parent_tag_id=12345; // your tag id here
JLoader::register('TagsHelperRoute', JPATH_BASE . '/components/com_tags/helpers/route.php');
$tags_tree=JTable::getInstance('Tag', 'TagsTable')->getTree($parent_tag_id);
// Show children:
foreach($tags_tree as $tags_tree_id=>$tags_tree_item) {
    echo 'DEBUG: ';
    echo ' id:'    . $tags_tree_item->id;
    echo ' level:' . $tags_tree_item->level;
    echo ' path:'  . $tags_tree_item->path;
    $link=TagsHelperRoute::getTagRoute($tags_tree_item->id . ':' . $tags_tree_item->path);
    echo ' link: ' . JRoute::_( $link, true, 1);
    echo '<br>';
}

Ngoài ra, để có được tất cả các thẻ gốc đã ra lệnh gốc biểu mẫu đến mức độ sâu hiện tại:

<?php
defined('_JEXEC') or die; // Joomla
$tag_id=12345; // your tag id here
$parent_tags=JTable::getInstance('Tag', 'TagsTable')->getPath($tag_id);
// Show parents and self:
foreach($parent_tags as $parent_tags_id=>$parent_tags_item) {
    echo 'DEBUG: ';
    echo ' id:'        . $parent_tags_item->id;
    echo ' level:'     . $parent_tags_item->level;
    echo ' path:'      . $parent_tags_item->path;
    echo ' published:' . $parent_tags_item-->published;
    echo '<br>';
}

Xin lưu ý: bạn có thể cần kiểm tra thuộc tính được xuất bản, vì bạn sẽ nhận được tất cả các thẻ , ngay cả các thẻ đã được chuyển. 1 được xuất bản, 0 bị ẩn, -2 bị hỏng, 2 được lưu trữ.

Xem https://api.j Joomla.org/cms-3/groupes/J Joomla.CMS.Router.Route.html cũng được.

0
Marcel