Autor Subiect: tt_news arhiva / articol nou postat  (Citit de 636 ori)

alessa

  • Novice
  • *
  • Mesaje postate: 4
tt_news arhiva / articol nou postat
« : Aprilie 09, 2009, 10:43:48 am »
Buna,

Cum pot sa fac, astfel incat pe pagina news sa am afisat un singur articol in modul single (care sa apara in totalitate la clickul pe linkul paginii), iar in data ce este postat un nou articol pe pagina news, cel existent sa fie mutat in pagina archive?

Nu folosesc categorii, toate articolele vor fii not categorized.

Singura treaba pe care am reusit-o a fost sa afisez pe pagina principala (news) un preview al articolului, care daca dau click pe titlul lui, mi-l afiseaza complet. Am selectat la plugin LATEST, SINGLE. Insa eu as vrea sa imi apara din prima articolul complet.

Si nu am inteles cum fac legatura intre news'uri si arhiva; Pe pagina Archive am selectat AMENU, LIST, SINGLE insa imi apare mesaju
Citat
ARCHIVE:

    * Sorry, Archive contains no items

no news in this list.

Multumesc anticipat

tiberiu

  • Novice
  • *
  • Mesaje postate: 209
    • http://www.arobs.com
Răspuns: tt_news arhiva / articol nou postat
« Răspuns #1 : Aprilie 10, 2009, 01:00:52 pm »
Citat
Cum pot sa fac, astfel incat pe pagina news sa am afisat un singur articol in modul single (care sa apara in totalitate la clickul pe linkul paginii), iar in data ce este postat un nou articol pe pagina news, cel existent sa fie mutat in pagina archive?

Pentru asta va trebui sa scrii un pic de cod php in metoda 'main' din "tt_news/pi/class.tt_news.php". Va trebui sa transmiti din typoscript o setare (ex. plugin.tt_news.showSingleOnPage=1 ) si in extensie sa verifici daca e setata:

if ($this->conf['showSingleOnPage']) {
   
    // iau ultimul uid valid (nesters si neascuns)
    list($newsUid) = $GLOBALS['TYPO3_DB']->sql_fetch_row($GLOBALS['TYPO3_DB']->exec_SELECTquery('uid', 'tt_news', 'NOT deleted AND NOT hidden', '', 'uid DESC', 1));

    // asignez id-ul variabilei get necesara pentru afisarea modului SINGLE
    $getArray['tx_ttnews']['tt_news'] = $newsUid;
    t3lib_div::_getSet($getArray);
    $this->piVars['tt_news'] = $newsUid;

    // schimb cod-ul default in SINGLE... sau daca deja il transmiti din typoscript ca fiind SINGLE, linia asta e inutila.
    $this->conf['code'] = $this->conf['defaultCode'] = 'SINGLE';
}

Mai departe va merge pe ramura single si se va comporta ca si cum ai dat click din lista de stiri pe o stire... adica va intra pe ramura de 'SINGLE' si va avea id-ul stirii setat.

Revin-o cu intrebari daca ai nelamuriri.

Tiberiu Contiu
PHP System Architect
AROBS Transilvania Software
str. Minerilor, nr. 63, Cluj-Napoca

www.arobs.ro , www.arobs.com

E-mail: tiberiu.contiu(at)arobs.com , tiberiu.contiu(at)yahoo.com
Skype:  tiberiu.contiu

tiberiu

  • Novice
  • *
  • Mesaje postate: 209
    • http://www.arobs.com
Răspuns: tt_news arhiva / articol nou postat
« Răspuns #2 : Aprilie 10, 2009, 03:36:39 pm »
Si nu am inteles cum fac legatura intre news'uri si arhiva; Pe pagina Archive am selectat AMENU, LIST, SINGLE insa imi apare mesaju
Citat
ARCHIVE:

    * Sorry, Archive contains no items

no news in this list.

Stirile care intra in categoria ARCHIVE sunt cele care au data arhivarii (setata la crearea news-ului) mai mica decat data curenta. De asemenea, mai poti seta din typoscript care stiri sa-ti fie considerate ca stiri arhivate. Vezi, de ex. explicatiile din documentatie de la setarile: datetimeDaysToArchive, datetimeHoursToArchive, datetimeMinutesToArchive.

Tie de fapt iti trebuie ceva specific... sa-ti arate toate stirile mai putin ultima introdusa, transparent de setarile legate de arhivare. Corect?

In cazul asta foloseste codul 'LIST' si adauga urmatoarele configurari:

plugin.tt_news{
    ....
    listStartId=1
    listOrderBy=uid DESC
   ....
}

Cu alte cuvinte, specifici extensiei tt_news sa listeze news-urile incepand cu a doua. Motivul ordonarii e evident: stirea exclusa trebuie sa fie ultima introdusa.

Daca iti apare: "no news in this list." ... inseamna ca nu ai introdus configurarea "pid_list". Valoarea ar trebui sa fie uid-ul sysfolder-ului sau paginii unde ai creat stirile. Daca sunt in aceeasi pagina in care le si afisezi, poti sa folosesti "dontUsePidList=1"

Spor...
Tiberiu Contiu
PHP System Architect
AROBS Transilvania Software
str. Minerilor, nr. 63, Cluj-Napoca

www.arobs.ro , www.arobs.com

E-mail: tiberiu.contiu(at)arobs.com , tiberiu.contiu(at)yahoo.com
Skype:  tiberiu.contiu