Seite 1 von 2

automatisch neue Spalte anfangen

Verfasst: 02.01.2005 11:35
von Kiss News
Hallo!
Ich würde gerne im "Sonderangebote"-Block meiner Auktion nach 5 Auktionen eine neue Spalte anfangen, insgesamt dann 3 Spalten, was insgesamt 15 Auktionen ergibt.

Automatisch wird immer nur eine einzige Spalte dargestellt:
http://web148.silverline-s13.de/phpbb2/ ... m.php?ar=1
Im ACP kann man festlegen, wieviele Auktionen in dem Block dargestellt werden sollen. Spalten kann man nicht einstellen.

Es soll also eine neue Spalte, keine neue Seite angefangen werden. Über den gesamten Bereich gehen sich schön 3 Spalten aus. Wenn ich im ACP also "15" einstelle, sollten diese 15 Auktionen dann in den 3 Spalten zu je 5 automatisch aufgeteilt werden.

Gibt es dafür vielleicht einen bekannten Codeschnipsel, den ich dafür einbauen kann oder sogar einen Mod? Es werden ja überall immer nur neue Seiten angefangen, aber keine neuen Spalten....
Danke!

Verfasst: 02.01.2005 11:47
von Nico Haase
geht es um den block, der da in der mitte mit fünf artikeln untereinander steht?

Verfasst: 02.01.2005 11:53
von Kiss News
ja, Block "Sonderangebote"

Verfasst: 02.01.2005 12:10
von Nico Haase
hmm, gib mir mal ne url zum download des mods, dann kann ich mal gucken, was möglich ist

Verfasst: 02.01.2005 13:46
von Kiss News
ich habe ziemlich viel verändert in der Auktion, da der original-Mod einige Bugs und nicht viele Features enthält, wo ich gerade dabei bin, alles auszubügeln. Ich kann Dir aber gerne einen Zugang zum Testforum geben per PN oder ich poste die zuständige Datei hier...
Vielen Dank für Deine Hilfe :)

update: hier der Downloadlink: http://www.phpbb-auction.com/dload.php?action=file&id=1

Verfasst: 03.01.2005 18:43
von Kiss News
ich denke, der Code dazu wäre in der functions_blocks.php, wo man da etwas ändern müsste:

Code: Alles auswählen

function includeAuctionSpecialBlock()
     {
          global $template, $lang, $db, $board_config, $userdata, $phpEx, $images;
          $auction_config_data = init_auction_config();

          // Just display if switched on via ACP
          if ( $auction_config_data['auction_block_display_specials'] == 1 )
               {
		     $sql = "SELECT PK_auction_offer_id,
                                    auction_offer_title,
                                    auction_offer_picture,
                                    auction_offer_time_stop
                             FROM " . AUCTION_OFFER_TABLE . "
                             WHERE auction_offer_state=0 AND
                                   auction_offer_special=1 AND
                                   auction_offer_paid=1 AND
                                   auction_offer_time_stop > " . time () . "
                             ORDER BY auction_offer_time_stop DESC
                             LIMIT 0, " . $auction_config_data['auction_block_specials_limit'] . "";

                     if ( !($result = $db->sql_query($sql)) )
		          {
			       message_die(GENERAL_ERROR, 'Could not query news', '', __LINE__, __FILE__, $sql);
                          } // End if

                     $specials_count = 0;
		     $specials_row = array();
		     while( $row = $db->sql_fetchrow($result) )
                          {
			       $specials_row[] = $row;
			       $specials_count++;
                          } // End while

		     $template->assign_block_vars('special_block', array(
                          'L_AUCTION_SPECIAL_OFFERS_TITLE' => $lang['auction_special_offers']));

		for ( $i = ($specials_count-1); $i > -1; $i--)
		     {
			$auction_offer_id = $specials_row[$i]['PK_auction_offer_id'];

			// BEGIN include auction-pic-config information
			$auction_config_pic = init_auction_config_pic();
			// END include auction-pic-config information
			// get info for admin and mod. Admin and mod see the offer-pic even if it has not been validated yet
			// this is only valid if validation is active
			if($auction_config_pic['auction_offer_pic_approval_admin'] == 1)
			     {
				if( ($userdata['user_level'] == ADMIN) OR ($userdata['user_level'] == MOD) )
				     {
					$x_sql = "";
				     }
				else
				     {
					$x_sql = "AND pic_approval = 0 AND pic_lock = 0 ";
				     }
			     }
			else
			     {
				if( ($userdata['user_level'] == ADMIN) OR ($userdata['user_level'] == MOD) )
				     {
					$x_sql = "";
				     }
				else
				     {
					$x_sql = "AND pic_lock = 0 ";
				     }
			     }

			// specials pictures
			$sql = "SELECT pic_id, crop_id
				FROM " . AUCTION_IMAGE_TABLE . "
				WHERE pic_auction_id = '$auction_offer_id' AND
                                      pic_main = 1 $x_sql";

			if( !($result = $db->sql_query($sql)) )
			     {
				message_die(GENERAL_ERROR, 'Could not get pic  special-offer information  for auction id: ' . $auction_offer_id, '', __LINE__, __FILE__, $sql);
			     }

			$pic_row = $db->sql_fetchrow($result);

			$mini_pic_id = $pic_row['pic_id'];
			$mini_crop_id = $pic_row['crop_id'];

			if ($mini_pic_id > 0 )
			     {
				$pic_yes = 1;
				$image_url = append_sid('auction_thumbnail.' . $phpEx . '?pic_type=3&crop=' . $mini_crop_id . '&pic_id=' . $mini_pic_id);
				$pic_width = $auction_config_pic['auction_offer_mini_size'];
				$pic_height = $auction_config_pic['auction_offer_mini_size'];
			     }
			else
			     {
				$pic_yes = 0;
			     }

			// special pictures end
			$template->assign_block_vars('special_block.special_offer_block', array(
                             'AUCTION_SPECIAL_TITLE' => subStr($specials_row[$i]['auction_offer_title'],0,30),
                             'U_AUCTION_SPECIAL_TITLE' => append_sid("auction_offer_view.php?" . POST_AUCTION_OFFER_URL . "=" . $specials_row[$i]['PK_auction_offer_id']),
			     'AUCTION_SPECIAL_END' => datediff( time() ,$specials_row[$i]['auction_offer_time_stop']),
			     'AUCTION_SPECIAL_IMAGE' => ( $pic_yes == 0 ) ? '<a href="' . append_sid("auction_offer_view.php?" . POST_AUCTION_OFFER_URL . "=" . $specials_row[$i]['PK_auction_offer_id']) . '"><img src="' . $images['icon_auction_no_pic'] . '" alt="' . $lang['auction_user_rating_view_offer'] . '" title="' . $lang['auction_user_rating_view_offer'] . '" border="0" /></a>' : '<a href="' . append_sid("auction_offer_view.php?" . POST_AUCTION_OFFER_URL . "=" . $specials_row[$i]['PK_auction_offer_id']) . '"><img src="'.$image_url . '" width="'.$pic_width.'" height="'.$pic_height.'" alt="' . $lang['auction_user_rating_view_offer'] . '" title="' . $lang['auction_user_rating_view_offer'] . '" border="0" /></a>'));
		} // End for
	} // End if
} // End function
meine PHP Kenntnisse sind zwar sehr bescheiden, aber ich nehme an, dass das etwa hier ist:

Code: Alles auswählen

for ( $i = ($specials_count-1); $i > -1; $i--) 
das müsste die Anzahl der angezeigten Auktionen sein... da müsste man vielleicht einen Code einfügen, der alle 5 Auktionen eine neue Spalte anfangen lässt :roll:

Verfasst: 03.01.2005 20:02
von Blutgerinsel
Tja grundlegendes Mathe was fehlt bei einem bisschen Copy & Paste.....

Stichwort mit der Restmenge arbeiten......

Code: Alles auswählen

if ($i%5 == 0)
Wo das hingehört sollte bei einer zeilenweisen Auslesung klar sein....

Verfasst: 03.01.2005 22:13
von Kiss News
Wo das hingehört sollte bei einer zeilenweisen Auslesung klar sein....
um was lesen zu können, müsste man die Sprache beherrschen, was ich eben leider nicht kann...
ich habe den Code an mehreren Stellen probiert, hat aber nicht geklappt. :x

Verfasst: 03.01.2005 22:50
von MrMind
Kiss News hat geschrieben:
Wo das hingehört sollte bei einer zeilenweisen Auslesung klar sein....
um was lesen zu können, müsste man die Sprache beherrschen, was ich eben leider nicht kann...
ich habe den Code an mehreren Stellen probiert, hat aber nicht geklappt. :x
Dann gebe ich dir nur einen Tipp: Kauf dir ein gutes PHP-Buch und lese es durch, neben bei holst du dir die PHP Manual noch auf deinen Rechner und lernst erstmal PHP. Dann sind solche kleine Probleme kein Problem mehr für dich und du bist komplett selbständig ;)

Wenn User sich an PHP zu schaffen machen die keine Ahnung haben, werden die Scripte zu 90% unsicher bzw. es entstehen leichte Sicherheitslücken die für Angreifer kein Problem darstellen (Stichwort ist: XSS und SQL-Injection).

Es ist net bös gemeint, aber wenn du an den PHP Dateien rumfummelst und was änderst ohne genau zu wissen was du da machst und was du im Hinterkopf haben solltest, ist das gejammer groß wenn das Board auf einmal gehackt bzw. gelöscht wurde.

Mfg
MrMind

Verfasst: 04.01.2005 02:01
von Blutgerinsel
Kiss News hat geschrieben:
Wo das hingehört sollte bei einer zeilenweisen Auslesung klar sein....
um was lesen zu können, müsste man die Sprache beherrschen, was ich eben leider nicht kann...
ich habe den Code an mehreren Stellen probiert, hat aber nicht geklappt. :x
Mit Zeilenweiser Auslesung meinte ich die Schleife die die Ausgabe generiert......

Mr. Mind hat recht du begibst dich in unsichere Gebilde......

Naja wahllos rumprobieren ohne mal ....... ist doch ....... :roll: