webForumDet fria alternativet

Publicering av artiklar med bilder - Bästa lösningen?

PHP

5 svar · 367 visningar · startad av streetrobban

Medlem sedan jan. 20011 140 inlägg
Frågan#1

Hej!

Jag håller på med ett script som ska visa thumbnails från artiklar på förstasidan.

Thumbnailsen ska visas på två rader. Man ska på båda raderna kunna visa bilderna i olika kombinationer. Nedan är ett exempel på de olika kombinationerna för EN rad.

Ex1 [ bild ] [ bild ] [ bild ] [ bild ]
Ex2 [ bild ] [ bild ] [      bild     ]
Ex3 [      bild     ] [ bild ] [ bild ]
Ex4 [      bild     ] [      bild     ]

Jag undrar nu om någon har en ide på hur man kan lösa detta enklast? Jag har suttit och pillat med ett script som läser av bildernas bredd och anpassar raderna efter det. Men det är lite klurigt eftersom man i förväg inte vet om det ska visas 2, 3 eller 4 bilder på varje rad.

Jag vet inte om jag rört till det för mig själv :(

Medlem sedan sep. 2006867 inlägg
#2

Ett sätt som jag skulle sträva efter är att bestämma en största bredd eller höjd som en bild får ha och sedan skala dina thumbs så att den största bredden eller höjden (den som är störst alltså) blir din max tillåtna gräns. På så sätt får du ett snyggt enhetligt galleri som du dessutom har någorlunda kontroll över.

/HB

Medlem sedan jan. 20011 140 inlägg
#3

Just bredden på bilerna är inget problem. Bilderna kommer alltid att vara 250px eller 120px breda. Trixet är bara att visa bilderna på ett bra sätt. Om användaren ALLTID lägger till artiklar som visas med små bilder så är det ju inget problem. Men om användaren gör så här isället så blir det jobbigt;

Artikel 1 - Stor bild
Artikel 2 - Liten bild
Artikel 3 - Liten bild
Artikel 4 - Liten bild

Då måste man ju räkna ut på något sätt att Artikel 4 hamnar på andra raden, och inte första. Eftersom första raden redan är "full". Men om Artikel 1 hade haft en liten bild så hade alla fyra artiklarna hamnat på samma rad.

Medlem sedan mars 20034 471 inlägg
#4

Om dina artiklar lagras i en databas, så skulle du vid inläggandet av artikeln kunna låta ditt skript räkna ut om bilden är "bred" eller "smal" och lagra det i en egen kolumn i artikeltabellen, tex tarPlats får värdet 2 (för bred) eller 1 (för smal).

Det hjälper så till vida att när du hämtar artiklarna kan du successivt summera värdet från tarPlats och då ser du efter 3 artiklar (i ditt exempel) att upptagen plats är 4, och att du måste börja på ny rad.

Men du måste också ha viss framförhållning, för vad händer om man lägger upp:
Artikel 1 - Liten bild
Artikel 2 - Liten bild
Artikel 3 - Liten bild
Artikel 4 - Stor bild
Då måste du ju se efter Artikel 3 att den upptagna platsen är 3, men eftersom den fjärde tar 2 så måste du ändå ner en nivå.

Medlem sedan jan. 20011 140 inlägg
#5

aasah: Det kanske skulle kunna funka. Grejjen är att användaren som uppdaterar artiklarna kan välja i vilken ordning artiklarna ska visas (numrering 1-8). Så det är lite upp till användaren att få det att fungera också. Men självklart måste man ha något script som kontrollerar/rättar om det blir fel. Framsidan (där artiklarna presenteras) kommer endast att innehålla två rader. Så i ditt exempel borde Artikel 4 inte visas, eftersom den inte får plats.

Medlem sedan jan. 20011 140 inlägg
#6

Jag har börjat med den första raden, jag gjorde som aasah sade och det funkar bra. Det gäller bara att användaren håller lite koll på vilka storlekar som laddas upp. Nu ska jag bara göra en lösning som kollar hur många artiklar som är hämtade (till den första raden vid de olika kombinationerna) och som sedan hämtar artiklar till den andra raden.

263 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)