it-swarm-vi.com

Nhận liên kết đầy đủ từ loại trường mục menu

Tôi đang phát triển thành phần và mô-đun trình chiếu của riêng mình cho Joomla. Thành phần được sử dụng để chọn các trang chiếu cùng với chú thích và liên kết, vv Mô-đun hiển thị các trang chiếu.

Trong thành phần, đối với mỗi slide tôi đã kích hoạt tùy chọn để thêm một liên kết đến mỗi slide. Loại trường mà tôi đã sử dụng là loại trường mục menu http: //docs.j Joomla.org/Menuitem_form_field_type

Điều này dường như để thêm id mục menu vào cơ sở dữ liệu cho slide cụ thể đó.

Câu hỏi của tôi là; Làm thế nào để tôi lấy id mục menu này và sau đó trong mô-đun sử dụng nó để có được liên kết mục menu đầy đủ? Tôi sẽ hiểu rằng tôi có thể sẽ phải tìm kiếm thông qua cơ sở dữ liệu để tìm đúng mục menu và sau đó tìm liên kết thích hợp nhưng tôi không chắc chắn nên bắt đầu từ đâu.

Nếu bất cứ ai có thể chỉ cho tôi đi đúng hướng tôi sẽ đánh giá cao nó.

Cảm ơn :)

7
DesignSubway

Để lấy ID mà tôi giả sử bạn đã biết, bạn có thể sử dụng như sau:

$itemid = $params->get('field_name');

Để lấy URL dựa trên ID, hãy thử điều này:

$itemid = $params->get('field_name'); //change the field name to whatever you have 

$app = JFactory::getApplication();
$menu = $app->getMenu();
$link = $menu->getItem($itemid)->link;

echo JRoute::_($link);

Điều này sẽ lặp lại một URL SEF. Nếu bạn muốn có một URL tiêu chuẩn thì chỉ cần sử dụng echo $link;

Hi vọng điêu nay co ich

5
Lodder

Nó có thể được thực hiện nhanh hơn một chút với ít mã hóa hơn:

JRoute::_('index.php?Itemid='.$itemid);

Điều này sẽ trả về một url tương đối cho mục menu đã chọn.

1
Artur Stępień