यहाँ Drupal 8 में लिंक बनाने के कुछ उदाहरण दिए गए हैं। ध्यान दें कि इस ब्लॉक के भीतर $ $-> ('कुछ टेक्स्ट') उपलब्ध है। यदि आप इन्हें किसी अन्य वर्ग में कॉपी करते हैं, जिसमें यह नहीं है या इनको .module फ़ाइल में उपयोग नहीं किया है, तो आपको इसे बदलकर t () 1 करने की आवश्यकता हो सकती है ।
एक नोड के लिए मूल लिंक:
$node = Node::load($nid);
$build['node_link'] = $node->toLink()->toRenderable();
यह इस तरह एक रेंडर सरणी बनाता है:
$link = [
'#type' => 'link',
'#url' => $url_object,
'#title' => 'Title of Node',
];
आप इस तरह से नोड लोड किए बिना रेंडर सरणी बना सकते हैं:
$url_object = Url::fromRoute('entity.node.canonical', ['node' => $nid]);
$link = [
'#type' => 'link',
'#url' => $url_object,
'#title' => $this->t('Read More'),
];
या कोर लिंक वर्ग का उपयोग कर:
$url = Url::fromRoute('entity.node.canonical', ['node' => $nid]);
$link = Link::fromTextAndUrl($this->t('Read more'), $url);
$build['read_more'] = $link->toRenderable();
यदि आप अपने लिंक के पाठ में मार्कअप का उपयोग करना चाहते हैं, तो आप बस एक स्ट्रिंग नहीं डाल सकते। आपको एक रेंडर एलीमेंट तत्व का उपयोग करने की आवश्यकता है:
$url = Url::fromRoute('entity.node.canonical', ['node' => $nid]);
$link_text = [
'#type' => 'html_tag',
'#tag' => 'span',
'#value' => $this->t('Load More'),
];
$link = Link::fromTextAndUrl($link_text, $url);
एक पूर्ण लिंक बनाने के लिए, आप इस विकल्प को URL में जोड़ते हैं, लिंक को नहीं:
$url = Url::fromRoute('entity.node.canonical', ['node' => $nid], ['absolute' => TRUE]);
$link = Link::fromTextAndUrl($this->t('Read more'), $url);
$build['read_more'] = $link->toRenderable();
अपने लिंक में एक वर्ग जोड़ने के लिए, आपको इसे URL से भी जोड़ना होगा, लिंक से नहीं:
$options = [
'attributes' => [
'class' => [
'read-more-link',
],
],
];
$url = Url::fromRoute('entity.node.canonical', ['node' => $nid], $options);
$link = Link::fromTextAndUrl($this->t('Read more'), $url);
$build['read_more'] = $link->toRenderable();
अपने लिंक में एक क्वेरी स्ट्रिंग जोड़ने के लिए, आपको URL की भी आवश्यकता है, लिंक की नहीं:
$options = [
'query' => [
'car' => 'BMW',
'model' => 'mini-cooper',
],
'attributes' => [
'class' => [
'read-more-link',
],
],
];
$url = Url::fromRoute('entity.node.canonical', ['node' => $nid], $options);
$link = Link::fromTextAndUrl($this->t('Read more'), $url);
$build['read_more'] = $link->toRenderable();
लक्ष्य के साथ एक नई विंडो में खोलने के लिए लिंक सेट करने के लिए = _blank:
$options = [
'attributes' => [
'target' => '_blank'
],
];
$url = Url::fromRoute('entity.media.edit_form', ['media' => $entity->id()], $options);
$link = Link::fromTextAndUrl(t('Edit'), $url);
$form['entity']['edit_link'] = $link->toRenderable();
यहाँ एक वर्गीकरण शब्द पृष्ठ का लिंक दिया गया है:
$url = Url::fromRoute('entity.taxonomy_term.canonical', ['taxonomy_term' => $tid]);
$link = Link::fromTextAndUrl($this->t('Read more'), $url);
$build['read_more'] = $link->toRenderable();
यहाँ नोड पेज संपादित करने के लिए एक कड़ी है:
$url = Url::fromRoute('entity.node.edit_form', ['node' => $nid]);
$link = Link::fromTextAndUrl($this->t('Edit'), $url);
$build['read_more'] = $link->toRenderable();
बाहरी लिंक बनाने के लिए:
$url = Url::fromUri('http://www.example.com/');
$link = Link::fromTextAndUrl($this->t('Vist this example site'), $url);
$build['external_link'] = $link->toRenderable();
मुखपृष्ठ से लिंक करें:
$url = Url::fromRoute('<front>');
$link = Link::fromTextAndUrl($this->t('Home'), $url);
$build['homepage_link'] = $link->toRenderable();
ध्यान दें कि इनमें से किसी भी url ऑब्जेक्ट पर, आप कॉल करके एक स्ट्रिंग के रूप में url प्राप्त कर सकते हैं:
$url->toString();
उदाहरण के लिए:
$url_string = Url::fromRoute('<front>')->toString();