Teknikval för att skapa en lista

Events happening in the community are now at Drupal community events on www.drupal.org.
RTauson's picture

Är fortfarande nybörjare i Drupal världen så ni får ha överseende om denna frågeställning är enkel.
Håller på att utvärdera drupal som plattform för en av mina befintliga kunder. Som ett "proof of concept" skall jag utveckla en modul för att skapa olika typer av rapporter, rapporterna bifogas som filer (xls, pdf, doc etc.).
Jag har skapat en modul med en egen nodtyp, allt har fungerat smidigt och bra. Är än så länge imponerad av hur smart den hook baserade tekniken fungerar.
Nu vill jag skapa en lista på mina rapporter, dvs i praktiken skall användaren kunna klicka på en länk som i sin tur öppnar upp en lista på alla noder av nodtypen "rapport".

Jag vill inte använda views till detta.

Är det någon som har ett förslag ? Skulle vilja ha ungefär samma utseende som man får under /admin/content/node men utan filtrerings sektionen.

Tacksam för svar

Comments

En lösning, om du ändå

tobiassjosten's picture

En lösning, om du ändå skriver en modul för rapporthantering, är att du skapar detta index i din modul. Isåfall bör du ta en titt på hook_menu för att skapa sidan och ge den en callback till din metod, i vilken du "spottar ut" sidan. För att kunna spotta något alls måste du först hämta informationen och det kan du göra med det halvbra databaslagret (min referens på ett bra sådant är Zend_Db) och då speciellt med funktionen db_query. När du sedan har all information kan du enkelt formatera den med temasystemet och dess theme-funktion.

Hoppas det hjälper!

Exakt vad jag behöver ?

RTauson's picture

Utan att ha läst igenom länkarna så tror jag att det är exakt vad jag behöver.
Har suttit och läst igenom en massa artiklar och inlägg.
Har nu följande arkitektoriska fråga.
Jag kan antingen välja att bygga min modul från scratch och skapa nodetyp, fältdefinitioner, validering , listvisningar etc.
Ett annat alternativ, om jag inte förstår fel, skulle vara att skapa min egen nodtyp och istället för egna fältdefinitioner använda CCK fält och sedan programmatiskt skapa "Views" vyer.

Är det någon som kan ge för resp. nackdelar med de olika alternativen.

Ett viktigt perspektiv i mitt projekt är möligheten att så enkelt så möjligt skapa en ny kopia av en befintlig site (kopia beträffande funktionalitet inte datat isig ), senare i projektet blir det också viktigt att kunna uppdatera en modul på sig 10 parallel sajter samtidigt.

Om Views är ett alternativ

tobiassjosten's picture

Om Views är ett alternativ skulle jag definitivt rekommendera TBarren's metod här nedan. Du skrev dock att det var uteslutet. :P

Det är garanterat enklare att kopiera en custom-modul från en befintlig sajt till en annan, även om det inte nödvändigtvis är svårt att kopiera/sjösätta en Views/CCK-setup. Dock är det svårare, speciellt som ny Drupal-utvecklare, att skapa en implementation som tar till vara på Drupals kraftfullhet, på det sätt som Views/CCK gör. Det blir m.a.o. mer framtidssäkert och lättare att expandera, om du använder dig av Views och CCK än en hemmasnickrad variant.

(Men självklart inte lika roligt, då flera timmars underbart och lärorikt kodknackande försvinner!)

Grymt imponerad

RTauson's picture

Grymt imponerad av svarsfrekvensen på forumet.
Så fort jag är igång skall jag bidra till än högre frekvens.
Har bestämt mig för att prova vägen med CCK och VIEWS. Återkommer med svar så fort jag kommit nånstans.

Något liknande detta?

TBarregren's picture

Är det något liknade detta du har tänkt dig? Det är en sida med rapporter som kan laddas ned direkt från tabellen eller från noden. Denna lösning har vi gjort med Views, Download och en egenutvecklad (ej släppt) modul som automatsikt skapar länkarna i menyn och håller reda på vilka användare som ingår i vilka projekt.

Webbplatsen är gjord på VINNOVA:s räkning för EU-projektet Surship. Idéen är att varje delprojekt, t.ex. BaSSy, får en egen avdelning bestående av

  • Overview: En sida på vilken delprojektet kan presentera sig.
  • Public reports: En sida med delprojektets rapporter som alla kan ladda ned.
  • Private reports: En sida med delprojektets rapporter som endast deltagarna i projeket kan ladda ned
  • Discussion: En sida med diskussioner som endast deltagarna i projeket kan läsa och delta i.

Vår lösning bygger som sagt på Views. Du skriver att du inte vill använda Views. Varför? Alternativet är stenåldersteknik (d.v.s. äldre än D4.6) som t.ex. taxonomy/term/tid eller skriva en egen modul som tobiassjosten är inne på.


Thomas BarregrenWebbredaktören

Något liknande Thomas exempel

RTauson's picture

Exakt någon liknande funktion som du gjort i VINNOVA projektet är planen.

Jag vill ha all kod inkluderad i min modul så jag lätt kan kopiera in modulen i en nyinstallerad sajt utan att behöva någon form av manuell konfigurering (se mitt inlägg ovan)

Om jag kan åstakomma det vyer och cck helt programmatiskt ser jag sjävlklart det som ett bättre alternativ än för mycket egen hack. Tyvärr kan jag lite för lite om dessa moduler än så länge.

Du kanske kan ge ett svar på frågan ?

Jag tror jag förstår vad du är ute efter

TBarregren's picture

Jag tror jag förstår vad du är ute efter. Rätta mig om jag har fel. Du vill kunna skapa ett stort antal identiska webplatser, genom att bara kopiera filer, checka ut från CVS/SVN eller något liknande, utan att behöva kopiera databaser. Som alltid med Drupal finns en rad olika lösningar som du kan välja mellan utifrån dina behov. Här kommer länkar som kan ge dig mer information:

En enkel lösning är att först ta fram en prototyp med hjälp av Views och CCK, och därefter exportera dessa, vilket resulterar i en PHP-kod. Denna PHP-kod kan du nu använda i en profil, eller i en egen modul som tillhandahåller aktuella vyer och nodtyper som defaultvärden, eller så importerar du dem helt sonika på de klonade webbplatserna.


Thomas BarregrenWebbredaktören

Exakt....

RTauson's picture

Thomas, tack för ditt engagemang. Det är precis det scenariot du beskriver som jag är ute efter.
Håller precis på att testa mig fram med export funktionerna i view 2, tyvärr hittar jag mest dokumentation kring views 1.
Använder dock modul koden i OG och kopierar ideér. Återkommer med resultat.

Än en gång, tack för dina svar.

Sweden

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week