Řazení fotografií

Phoca Gallery - image gallery extension
fuk
Phoca Member
Phoca Member
Posts: 22
Joined: 07 Jul 2008, 14:55

Řazení fotografií

Post by fuk »

Ahoj,
neumím seřadit vložené fotografie - nově vložené fotky jsou umístěny na konec, zatímco já bych je chtěl mít na začátku (při prohlížení fotek ve frontendu).
V administrační části je sice možnost Řadit včetně Uložení řazení, ale to funguje jen pro administrační část, ve frontendu mi zůstávají fotografie řazené od nejstarší po nejnovější vloženou.
Moc prosím o radu, díky!
TF
User avatar
Jan
Phoca Hero
Phoca Hero
Posts: 49297
Joined: 10 Nov 2007, 18:23
Location: Czech Republic
Contact:

Re: Řazení fotografií

Post by Jan »

Ahoj, musíš změnit pořadí v administrační části, nejen pohled, tedy použit malý zelený šipky, nebo okýnka pro vložení manuální hodnoty pořadí... Ve frontendu se řadí podle ordering
If you find Phoca extensions useful, please support the project
fuk
Phoca Member
Phoca Member
Posts: 22
Joined: 07 Jul 2008, 14:55

Re: Řazení fotografií

Post by fuk »

OK, to funguje. Jen musím při vložení velkého množství fotek (stovky) ručně přepsat okýnka s pořadím. :-(
Nedá se nějak jednoduše nastavit, aby se nově přidané položky neřadily na konec, alébrž na začátek?
Dík!
User avatar
Jan
Phoca Hero
Phoca Hero
Posts: 49297
Joined: 10 Nov 2007, 18:23
Location: Czech Republic
Contact:

Re: Řazení fotografií

Post by Jan »

v modelu:
administrator\components\com_phocagallery\models\phocagallery.php

řádek cca 319

ale nevím jak se jmenuje metoda pro přidávání položek na začátek :(
If you find Phoca extensions useful, please support the project
fuk
Phoca Member
Phoca Member
Posts: 22
Joined: 07 Jul 2008, 14:55

Re: Řazení fotografií

Post by fuk »

Dobrý tip, ale trochu se obávám, jestli vůbec joomla nějakou metodu pro přidávání položek na začátek má. :-((
Nešlo by to třeba na výstupu setřídit úpravou SQL dotazu (DESC)?
Omlouvám se, že s tím pořád otravuju, ale přijde mi zajímavý, že nikdo nemá podobný problém... pokud mám pravidelně aktualizovanou galerii, tak přece logicky budu chtít nejnovější fotky mít hned na ráně...
User avatar
Jan
Phoca Hero
Phoca Hero
Posts: 49297
Joined: 10 Nov 2007, 18:23
Location: Czech Republic
Contact:

Re: Řazení fotografií

Post by Jan »

v adminu lze kliknout na pořadí a pořadí se otoči, takže stačí někde nastavit, že se má zobrazovat opačně, bohužel ti neřeknu kde, protože to nevím, ale jsou to dvě odlišné věci:

- přidání fotek na začátek není to samé jako (ordering číslo je jiné)
- zobrazit fotky opačně (ordering číslo je stejné, jen se zobrazí DESC místo ASC)
If you find Phoca extensions useful, please support the project
fuk
Phoca Member
Phoca Member
Posts: 22
Joined: 07 Jul 2008, 14:55

Re: Řazení fotografií

Post by fuk »

hmmm, správná úvaha. teď se zamýšlím nad tím, jak je dělané řazení pro články - tam to vlastně je tak, jak bych to chtěl u galerie - nově vložené články se zobrazí jako první.
vypadá to, že při vkládání nových článků (pokud se nepletu, tak je za něj zodpovědný administrator\components\com_content\controller.php) se nastaví ordering na 1 a provede se nějaké reorder()... no a v tom už se začínám bohužel ztrácet.

PS. Trochu si vyčítám, že to tady vedem v češtině, možná kdybych nebyl línej, tak se někdo zvenku chytil a poradil. ;-)
User avatar
Jan
Phoca Hero
Phoca Hero
Posts: 49297
Joined: 10 Nov 2007, 18:23
Location: Czech Republic
Contact:

Re: Řazení fotografií

Post by Jan »

myslím, že ne, rádců je tady málo

jinak jsem so podíval na kód a všude vidím:

Code: Select all

$row->ordering = $row->getNextOrder( $where );
to tě asi moc nepotěší

podívej se na:
administrator\components\com_content\controller.php
metoda saveContent... je tam nějakej způsob reorderingu
If you find Phoca extensions useful, please support the project
fuk
Phoca Member
Phoca Member
Posts: 22
Joined: 07 Jul 2008, 14:55

Re: Řazení fotografií

Post by fuk »

Tak s malou dušičkou jsem se pustil do zásahů a dobral jsem se výsledku - byť trochu rozporuplného.
Ač se přiznám, že úplně přesně nevím, co dělám, tak jsem zaměnil:

Code: Select all

if (!$row->id) {
$where = 'catid = ' . (int) $row->catid ;
$row->ordering = $row->getNextOrder( $where );
}
za

Code: Select all

$row->checkin();
$row->reorder('catid = '.(int) $row->catid.' AND state >= 0');
Provedl jsem to na řádku 319 v administrator\components\com_phocagallery\models\phocagallery.php
Poté se začaly "správně" řadit fotky vložené jednorázově pomocí Nový.

Přes Vícenásobné vložení se fotky řadily pořád původním způsobem (nové na konec).
Takže jsem provedl výše uvedenou změnu ještě na řádce 185 a dále to samé v souboru
administrator\components\com_phocagallery\models\phocagallerym.php na řádkách 181 a 314 (tzn. celkem na 4 místech).

Poté to chodí tak jak chci i přes Vícenásobné vložení jen s tím zádrhelem, že v administrační sekci se všechny nové fotky vloží s Order Number 0, místo aby se to přeskládalo od 1 po X.

Co na to řekne Jan? Není to ode mě příliš velká prasárna?
Bylo by skvělé (prosím, prosím), kdyby v některé z příštích verzí přibyla možnost vybrat si, jak se budou nově vložené fotky řadit...
User avatar
Jan
Phoca Hero
Phoca Hero
Posts: 49297
Joined: 10 Nov 2007, 18:23
Location: Czech Republic
Contact:

Re: Řazení fotografií

Post by Jan »

prasárna to nebude, jen to trochu zpozdí skript při ukládání fotek... o nějakou tu milisekundu :-) ... já jsem s tím počítal ale už ani nevím proč, ale zavrhl jsem to ... nevím jestli tam ještě nebudou nějaký jiný zádrhely ... ale jestli ti to funguje tak ok... škoda, že to neumí měnit hodnoty pořadí ... jestli jsou všude nuly, pak by to zřejmě mělo brát pořadí ne podle ordering ale podle data, nevím, nezkomal jsem to ... zkus se podívat do databáze jestli je tam v ordering sloupcích taky nula nebo správné hodnoty...
If you find Phoca extensions useful, please support the project
Post Reply