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

Contao 3.0 - pierwsze wrażenia i... trudności z obrazkami

contao 3.0 obrazki galerie

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

#1
Michał

Michał

    Bywalec

  • Zarejestrowani
  • PipPip
  • 44 postów
Postawiłem pierwszą stronę na Contao w wersji 3.0.
Generalnie robi miłe wrażenie, acz...
Jak we wcześniejszych wersjach 2.xx.x utworzenie własnego folderu z obrazkami w tl_files dawało możliwość uporządkowania grafik do strony, tak w nowej strukturze folderów umieszczając własny folder z obrazkami w files nie daje to efektu - jakikolwiek dostęp do obrazków z backendu jest niemożliwy, bowiem utworzony przeze mnie folder jest niewidoczny.
Dodawanie pojedynczych obrazków do treści jest możliwe przy ręcznym wpisaniu ścieżki dostępu, tak samo wpisując je w CSSie. Jednak chcąc dodać galerię obrazków wybór ich do galerii jest niemożliwy, bo folder jest niewidoczny.
Zabawne, że widać obrazki z utworzonego podczas instalacji folderu "music_academy", acz utworzony w nim ręcznie nowy folder pozostaje niewidoczny.

Czyżbym czegoś nie dopatrzył w ustawieniach albo to jakiś błąd w mojej instalacji, który normalnie się nie pojawia?

Generalnie moje wrażenia są takie, że jeśli ktoś przyzwyczaił się do co niektórych rozszerzeń, to w Contao 3.0 jest ich sporo mniej.
Póki co chyba warto pozostać przy wersji 2.11.x.

Jakie są Wasze wrażenia i czy też tak macie z obrazkami w 3.0?
  • 0

#2
milbau

milbau

    Znawca

  • Zarejestrowani
  • PipPipPipPip
  • 170 postów
Odnośnie obrazków jest różnica ale to też plus bo teraz do każdego obrazka/pliku można dodać informacje meta bezpośrednio przez menager plików. Dlatego zaszła też taka zamiana że jeśli wgrywasz pliki np. przez ftp nie przez panel to musisz w menadżerze kliknąć Synchronizuj i pliki będą widoczne. A jak już dodasz element galerii to znajdziesz fajną opcję że kolejność zdjęć możesz sobie dla danej galerii poustawiać ręcznie.
  • 1

#3
Michał

Michał

    Bywalec

  • Zarejestrowani
  • PipPip
  • 44 postów
Wielkie dzięki za wskazówkę. :)
Stare przyzwyczajenie, bo wgrywając wcześniej pliki przez FTP nigdy w sumie nie zaglądałem do Menadżera plików.
Teraz po synchronizacji folderów w Menadżerze plików wszystko jest jak należy, czyli widzę utworzone przeze mnie ręcznie foldery i wgrane pliki.

Raz jeszcze dzięki za podpowiedź.

PS.
Świetną funkcją w galerii jest możliwość ustawienia miniaturki obrazka lewo, środek, prawo / góra, środek, dół. Mamy teraz pełną kontrolę nad wyświetlaniem miniaturek.
Przestawianie obrazków metodą drag n drop też jest bardzo wygodne, jak również zmiana nazw plików.


Info o synchronizacji można znaleźć na 22 stronie:
http://contao.org/en...ote_2012_EN.pdf

Użytkownik Michał edytował ten post 14 listopada 2012 - 22:18

  • 0

#4
gutenbergus

gutenbergus

    Znawca

  • Zarejestrowani
  • PipPipPipPip
  • 189 postów
no dobrze, ale jak teraz wygenerować obrazek? Pole file przechowuje referencję do tablicy z obrazkami. Jak zrobić w backendzie listę rekordów z obrazkami? Dawniej było generateImage($path), a teraz?
  • 0

#5
Kamil

Kamil

    Contao ambassador

  • Administratorzy
  • 1 538 postów
  • Strona www:zobacz
  • LokalizacjaLidzbark Warminski
Już spieszę z pomocą. Otóż teraz każdy fizyczny plik i folder ma swój odpowiednik w bazie danych (tabela tl_files). Istotnie zmienił się ten "uniwersalny" kod do generowania obrazka. Teraz wygląda on tak:

<?php
 
$objImage = \FilesModel::findByPk($objRecord->singleSRC);
 
if ($objImage !== null && is_file(TL_ROOT . '/' . $objImage->path))
{
	$this->Template->obrazek = \Controller::generateImage(\Image::get($objImage->path, 50, 50)); // Wygeneruje miniaturkę 50x50
}

  • 0

Codefog - Contao web development


#6
gutenbergus

gutenbergus

    Znawca

  • Zarejestrowani
  • PipPipPipPip
  • 189 postów
Kamilu, a jak to użyć do generowania miniaturek w BE?
w 2.x zrobiłbym:
'label' => array
  (
   'fields'				  => array('icon','title'),
   'format'				  => '<img src="%s"> %s'
  ),
a jak teraz w linii 3.x?
  • 0

#7
Kamil

Kamil

    Contao ambassador

  • Administratorzy
  • 1 538 postów
  • Strona www:zobacz
  • LokalizacjaLidzbark Warminski
A teraz robimy tak:

'label' => array
(
    'fields'                  => array('name'),
    'format'                  => '%s',
    'label_callback'          => array('tl_table', 'generateLabel'),
),
 
 
class tl_table extends Backend
{
 
    /**
     * Generate the label
     * @param array
     * @return string
     */
    public function generateLabel($arrRow)
    {
        $image = '';
    
        if (($objImage = \FilesModel::findByPk($arrRow['icon'])) !== null && is_file(TL_ROOT . '/' . $objImage->path))
        {
            $image = \Controller::generateImage(\Image::get($objImage->path, 50, 50));
        }
        
        return $image . ' ' . $arrRow['title'];
    }
}

  • 0

Codefog - Contao web development


#8
gutenbergus

gutenbergus

    Znawca

  • Zarejestrowani
  • PipPipPipPip
  • 189 postów
Dzięki, oczywiście działa. A jeszcze jedno, czy można w podobny sposób zrobić przy sorting mode 4 -----> 'headerFields' => array('icon', 'title'),
chodzi o otrzymanie ikony w nagłówku listy rekordów potomnych.

Andrzej
  • 0

#9
Kamil

Kamil

    Contao ambassador

  • Administratorzy
  • 1 538 postów
  • Strona www:zobacz
  • LokalizacjaLidzbark Warminski
Nie wiem, ale popróbowałbym z load_callback na danym polu. A jeśli to zawiedzie, to może nawet HOOK "outputBackendTemplate" i funkcją preg_replace() podmienić wartość.

Jeszcze apropo wcześniejszego kodu, powinno być tak:

'label' => array
(
    'fields'                  => array('name'),
    'format'                  => '%s',
    'label_callback'          => array('tl_table', 'generateLabel'),
),
 
 
class tl_table extends Backend
{
 
    /**
     * Generate the label
     * @param array
     * @return string
     */
    public function generateLabel($arrRow)
    {
        $image = '';
    
        if (($objImage = \FilesModel::findByPk($arrRow['icon'])) !== null && is_file(TL_ROOT . '/' . $objImage->path))
        {
            $image = \Image::getHtml(\Image::get($objImage->path, 50, 50));
        }
        
        return $image . ' ' . $arrRow['title'];
    }
}

  • 0

Codefog - Contao web development


#10
gutenbergus

gutenbergus

    Znawca

  • Zarejestrowani
  • PipPipPipPip
  • 189 postów
dzięki bardzo
  • 0





Również z jednym lub większą ilością słów kluczowych: contao 3.0, obrazki, galerie

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

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