CakePHP: Linki absolutne

Ostatnio napotkałem problem tworzenia linków w mailu wysyłanym z sekcji administratorskiej aplikacji napisanej w CakePHP. Linki tworzyłem za pomocą metody link w HtmlHelper.

echo $this->Html->link('Link'
    array(
        'controller'=>'contents'
        ,'action'=>'view'
        ,'slug'=>'my-custom-slug'
    )
);

Tak utworzony link tworzony jest z prefixem ‚admin’; jakoże został utworzony z poziomu sekcji admin, która jest uzyskana za pomocą takiego prefixu. Pozbywamy się prefixu podająć w tablicy drugiego parametru element o kluczu takim jak nazwa prefixu, a w wartości prefixu FALSE. Zaleca się aby w każdym tworzonym linku anuluwać nieużywane, a zdefiniowane prefixy. Dla przypomnienia prefixy te zdefiniowane są w pliku app/config/routes.php.

echo $this->Html->link('Link'
    array(
        'controller'=>'contents'
        ,'action'=>'view'
        ,'slug'=>'my-custom-slug'
        ,'admin'=>FALSE
    )
);

Teraz wystarczy tylko uzyskać link absolutny, czyli zaczynający się od http://tomaszmazur.eu/ zamiast standardowego /. W tablicy drugiego parametru tworzymy element o kluczu full_base i wartości TRUE.

echo $this->Html->link('Link'
    array(
        'controller'=>'contents'
        ,'action'=>'view'
        ,'slug'=>'my-custom-slug'
        ,'admin'=>FALSE
        ,'full_base'=>TRUE
    )
);

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *