2015-09-07 13 views
6

Özel bir işlevim var ve bunu bir blade şablonuna aktarmak istiyorum. İşte fonksiyonudur:Özel bir işlevi Laravel Blade şablonuna aktar

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; 
} 

Ve kullanım şu şekildedir:

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

mümkün mü bıçak şablonuna özel bir işlevi geçmek? Teşekkür ederim.

cevap

18

no'lu uçbirim yapmanıza gerek yoktur. İşlevi tanımlarsanız, onu blade'den kullanabilirsiniz.


  1. yeni app/helpers.php dosyası oluşturun.
  2. trim_characters işlevinize ekleyin.
  3. Add that file to your composer.json file.
  4. Çalıştır composer dump-autoload.

Şimdi sadece bıçak doğrudan işlevini kullanın:

{{ trim_characters($string) }} 
+0

Çalışıyor. Teşekkür ederim. – FewFlyBy

+1

Benim için çalışmıyor. “Tanımlanmamış fonksiyona çağrı yap” ve fonksiyon sayfanın en üstünde düz metin olarak yazılır !? – MattClimbs

+0

Benim için mükemmel çalışıyor. Teşekkürler. – KickingLettuce