2015-09-07 12 views
6

पर एक कस्टम फ़ंक्शन पास करें मेरे पास एक कस्टम फ़ंक्शन है और मैं इसे ब्लेड टेम्पलेट में पास करना चाहता हूं। यहाँ समारोह है:लार्वेल ब्लेड टेम्पलेट

function trim_characters($text, $length = 45, $append = '…') { 

    $length = (int) $length; 
    $text = trim(strip_tags($text)); 

    if (strlen($text) > $length) { 
     $text = substr($text, 0, $length + 1); 
     $words = preg_split("/[\s]| /", $text, -1, PREG_SPLIT_NO_EMPTY); 
     preg_match("/[\s]| /", $text, $lastchar, 0, $length); 
     if (empty($lastchar)) 
      array_pop($words); 

     $text = implode(' ', $words) . $append; 
    } 

    return $text; 
} 

और उपयोग इस तरह है:

$string = "A VERY VERY LONG TEXT"; 
trim_characters($string); 

ब्लेड टेम्पलेट के लिए एक कस्टम समारोह पारित करने के लिए यह संभव है? धन्यवाद।

उत्तर

18

आपको पास करने के लिए कुछ भी नहीं है। यदि आप अपने फ़ंक्शन को परिभाषित करते हैं, तो आप इसे ब्लेड से उपयोग कर सकते हैं।


  1. एक नया app/helpers.php फ़ाइल बनाएँ।
  2. इसमें trim_characters फ़ंक्शन जोड़ें।
  3. Add that file to your composer.json file
  4. रन composer dump-autoload

अब बस ब्लेड में सीधे समारोह का उपयोग करें:

{{ trim_characters($string) }} 
+0

यह काम करता है। धन्यवाद। – FewFlyBy

+1

मेरे लिए काम नहीं करता है। मुझे 'अपरिभाषित फ़ंक्शन पर कॉल करें' और पृष्ठ पृष्ठ के शीर्ष पर सादा पाठ में फ़ंक्शन मुद्रित किया गया है !? – MattClimbs

+0

मेरे लिए सही काम करता है। धन्यवाद। – KickingLettuce

संबंधित मुद्दे