Skocz do zawartości

Witamy na polskim forum Contao
Zarejestruj się teraz, aby skorzystać ze wszystkich funkcji forum. Kiedy się zalogujesz, będziesz mógł tworzyć tematy, pisać posty, rozdawać punkty reputacji, korzystać z prywatnych wiadomości i zarządzać swoim profilem. Jeśli posiadasz już konto, zaloguj się - w przeciwnym wypadku zarejestruj się już teraz!
Zdjęcie

Ajax we własnym module


  • Zaloguj się, aby dodać odpowiedź
1 odpowiedź w tym temacie

#1
rr97

rr97

    Doświadczony

  • Zarejestrowani
  • PipPipPip
  • 61 postów

Po raz pierwszy pojawiła mi się potrzeba użycia ajaxu w contao. Prosta sprawa, muszę sprawdzić czy istnieje wartość podana w formularzu.

Ale kod:

$.ajax({type: "POST",
        url: "check.php",

odwołuje się do pliku check.php umieszczonego w katalogu głównym, a ja chcę aby odwoływał się do katalogu z modułem. A

$.ajax({type: "POST",
        url: "{{env::path}}system/modules/moj_modul/templates/test.html5",

nie działa bo jest to blokowane przez .htaccess z katalogu system.

Jak to obejść?

 

 

Poradziłem sobie z zapytaniem ajaxowym  umieszczając cały kod w jednym pliku. Ale mimo wszystko czy jest możliwość odwołania się do zewnętrznego pliku z kodem PHP?


Użytkownik rr97 edytował ten post 05 marca 2016 - 11:58

  • 0

#2
Kamil

Kamil

    Contao ambassador

  • Administratorzy
  • 1 538 postów
  • Strona www:zobacz
  • LokalizacjaLidzbark Warminski

W takim wypadku najlepiej zrobić request do obecnej strony (window.location.href) i te żądanie ajaxowe obsłużyć w swoim module. Jeśli chciałbyś natomiast mieć oddzielny plik do tego, to proponuję utworzyć sobie katalogu "public" w swoim module:

 

/system/modules/moj_modul/public/check.php

 

i w tymże katalogu umieścić również plik .htaccess, który zezwoli na dostęp do tego pliku:

<IfModule !mod_authz_core.c>
  Order allow,deny
  Allow from all
</IfModule>
<IfModule mod_authz_core.c>
  Require all granted
</IfModule>

  • 0

Codefog - Contao web development





Użytkownicy przeglądający ten temat: 1

0 użytkowników, 1 gości, 0 anonimowych użytkowników