2015-09-07 17 views
6

Mam funkcję niestandardową i chcę przekazać ją w szablonie ostrza. Oto funkcja:Przekaż niestandardową funkcję szablonu Laravel Blade

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

I wykorzystanie jest tak:

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

Czy to możliwe, aby przekazać funkcję niestandardowego szablonu ostrza? Dziękuję Ci.

Odpowiedz

18

Nie musisz przekazywać niczego do ostrza. Jeśli zdefiniujesz swoją funkcję, możesz użyć jej z ostrza.


  1. Utwórz nowy app/helpers.php pliku.
  2. Dodaj do tego swoją funkcję trim_characters.
  3. Add that file to your composer.json file.
  4. Uruchom composer dump-autoload.

Teraz wystarczy użyć funkcji bezpośrednio w ostrzu:

{{ trim_characters($string) }} 
+0

To działa. Dziękuję Ci. – FewFlyBy

+1

Nie działa dla mnie. Otrzymuję komunikat "Call to undefined function", a funkcja jest drukowana w postaci zwykłego tekstu u góry strony !? – MattClimbs

+0

Działa idealnie dla mnie. Dzięki. – KickingLettuce

Powiązane problemy