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

Obsługa wysyłania plików


  • Proszę się zalogować aby odpowiedzieć
3 odpowiedzi na ten temat

#1
gutenbergus

gutenbergus

    Znawca

  • Zarejestrowani
  • PipPipPipPip
  • 189 postów
Pomocy. Tu zupełnie utknąłem. Formularz we FE ma obsługiwać wysyłanie plików do jakiegoś katalogu i równocześnie zapis jego adresu do bazy. Jak to obsłużyć. Będę wdzięczny za jakiś przykład.

Andrzej
  • 0

#2
Kamil

Kamil

    Contao ambassador

  • Administratorzy
  • 1538 postów
  • Strona www:zobacz
  • LokalizacjaLidzbark Warminski
Do uploadu pliku musisz użyć widgetu FormFileUpload, np. o takiej konfiguracji:

'image' => array
(
	'name'	   => 'image',
	'label'	  => $GLOBALS['TL_LANG']['MSC']['up_image'],
	'inputType'  => 'upload',
	'eval'	   => array('storeFile'=>true, 'uploadFolder'=>'tl_files/uploads', 'extensions'=>$GLOBALS['TL_CONFIG']['validImageTypes'], 'doNotOverwrite'=>true)
)
Plik po wysłaniu formularza jest dostępny w sesji:

$_SESSION['FILES']['image'];

  • 0

Codefog - Contao web development


#3
gutenbergus

gutenbergus

    Znawca

  • Zarejestrowani
  • PipPipPipPip
  • 189 postów
No właśnie, Kamilu. Natknąłem się na ten kod już wcześniej, ale jeśli jest umieszczony w pliku DCA to ten typ pola nie pojawia się w BE. Natomiast co do FE to potrzebuję dodatkowych wyjaśnień.

Ja to robię tak: w klasie obsługującej ten formularz pobieram konfigurację z pliku DCA i dalej mam funkcję, która tworzy odpowiednie pole formularza. W takim razie muszę w tej funkcji dopisać całą obsługę uploadu pliku. Dobrze myślę???

Ale coś mi mówi, że wyważam otwarte drzwi.
Załączam plik DCA, klasę formularza, plik z funkcją generującą oraz template.

heeelp.....

Załączony plik  Archiwum.zip   5.33KB   122 pobrań
  • 0

#4
Kamil

Kamil

    Contao ambassador

  • Administratorzy
  • 1538 postów
  • Strona www:zobacz
  • LokalizacjaLidzbark Warminski
Tak, obsługę uploadu pliku musisz zrobić w funkcji w formFieldSetup.php. I masz rację, że wyważasz otwarte drzwi ;) Bo wystarczy, że kod z http://www.contao.pl...-formularz.html (paragraf "Kod modułu") lekko przerobisz i umieścisz w normalnej klasie:

class FormFieldSetup extends Frontend
{
    public function generateField($strField, $varValue, $strType, $arrParams=null)
    {
        // ...
    }
}
a w templatkach będziesz używał:

<?php $this->import('FormFieldSetup'); ?>
<div>
<?php echo $this->FormFieldSetup->generateField(...); ?>
</div>

  • 0

Codefog - Contao web development





1 użytkowników czyta ten temat

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