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
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!
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!
Obsługa wysyłania plików
Rozpoczęte przez gutenbergus, Apr 13 2012 00:54
#1
Napisany 13 April 2012 - 00:54
#2
Napisany 13 April 2012 - 07:37
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'];
Codefog - Contao web development
#3
Napisany 13 April 2012 - 10:06
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.....
Archiwum.zip 5.33KB
122 pobrań
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.....
Archiwum.zip 5.33KB
122 pobrań
#4
Napisany 13 April 2012 - 10:44
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>
Codefog - Contao web development
1 użytkowników czyta ten temat
0 użytkowników, 1 gości, 0 anonimowych użytkowników




Wróć do góry
Raportuj







