ebiz-webhosting
- Ad -
IMPRESSUM dotted_line KONTAKT dotted_line search dotted_line Contact dotted_line sitemap
193 PHP-Resource Mitglieder online
php-resource



Archiv verlassen und diese Seite im Standarddesign anzeigen :
array erweitern 15 zeilen code: ein einfaches problem


 
joo_bert1000
06-03-2010, 20:27 
 
guten Abend

Also es geht um folgendes: ich will auf meiner Seite Amazon_images & noch Links zu lokalen Rezensionsseiten!! randomized! rotieren lassen:

Also bei jedem Seitenaufruf soll - nach vorher eingestellten ASINS ein bild von AMAZON geladen werden. Dazu soll dann noch ein Link - von mir auf meiner Seite hergestellt und "ausgesucht" - dazu erscheinen - das soll also bei jedem Seitenaufruf - zufällig aus einer Groesseren Liste ausgesucht werden... Das ganze sieht so aus und soll in einer joomla 1.5 laufen...

mod_amazon.

Erst mal das xml erstellen:


<?xml version="1.0" encoding="utf-8"?>
<install type="module" version="1.5.0">
<name>Amazon</name>
<creationDate>March 2010</creationDate>
<author>DMS</author>
<license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
<authorEmail>webmaster@worldwidewaiting.de</authorEmail>
<authorUrl>www.bwforum-online.de</authorUrl>
<version>1.0.7</version>
<description>AMAZON</description>
<files>
<filename module="mod_amazon">mod_amazon.php</filename>
</files>
<params>
<param name="moduleclass_sfx" type="text" default="" label="Module Class Suffix" description="PARAMMODULECLASSSUFFIX" />
</params>
</install>



Und jetzt den Block als mod_amazon.php:



<?php
/**
* @version $Id: mod_random_image.php 10381 2008-06-01 03:35:53Z pasamio $
* @package Joomla
* @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
* @license GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/

// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
$asinarr=array();

$asinarr[] = array("ASIN"=>"B002UI2QDY",
"Link"=>"http://....."); //Inglorious Basterds

$asinarr[] = array("ASIN"=>"B0033AGA4E",
"Link"=>"http://....."); //2012

// Das Array $asinarr nach obigem Muste beliebig zu erweitern

shuffle ($asinarr);

echo "Ausgesuchte ASIN: ".$asinarr[0]["ASIN"]
?>

ich will das scrpt jetzt erweitern, so dass es mir ca. 20 ASINS bzw. deren zugehoerige Buchimages anzeigt - randomized...

kann mir einer einen Tipp geben!?

Freu mich auf Tipps.

joo

 
wahsaga
06-03-2010, 21:31 
 
Das scheint mir unter Projekthilfe besser aufgehoben; *verschieb*

 
joo_bert1000
07-03-2010, 13:26 
 
hi

danke fuers moderieren und schieben des Beitrags.

kannst du mir vielle einen Tipp geben.

danke

joo

 
pekka
07-03-2010, 16:27 
 
Zufällige ASINs zu generieren wird wohl unmöglich sein - schließlich existiert nicht jede Kombination. Falls Amazon einen solchen Service nicht selbst bietet, wirst Du wohl nicht drumrumkommen, Buchlisten abzufragen und mit zufällig ausgewürfelten Limits zu arbeiten - weiß allerdings nicht, inwieweit das vn der Amazon-API her möglich ist. Könnte gut sein, daß gar nicht.

 
joo_bert1000
07-03-2010, 17:25 
 
hallo danke fuer die antwort.

ein kl. missverständnis: ich will keine zufälligen asins erzeugen oder abrufen.
sondern ich will eben zehn oder 20 ausgesuchte asins in den code eintragen.

Dann soll der die randomized durcheinanderwuerfeln und dann /(kann man ja auch shufflen dazu sagen) tzur anzeige bringen.
Das ganze ist verkoppelt mit links zu einem kurzen review-text.

das ganze Thema - noch viel besser erklärt findest du hier auf diesem Link: http://forum.joomla.org/viewtopic.php?f=304&t=495496









Also das mit der Erweiterung - wie geht das. Hab drüber nachgedacht - und mit Freunden geredet:

Hmm _ ist das ist so: also mal ein Beispiel gemacht, mit drei verschiedenen Links. Einfach den Inhalt der 'mod_amazon.php' mit folgendem ersetzten ( du kannst das original ja auch zum Sichern umbenennen):


<?php

// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
$asinarr=array();

$asinarr = array(
array(
"titel"=>"Joomla.org",
"href"=>"http://www.joomla.org"
),
array(
"titel" =>"Joomla.fr",
"href" =>"http://www.joomla.fr"
),
array(
"titel" => "Joomla.de",
"href" => "http://www.joomla.de"
)
);

// Das Array $asinarr nach obigem Muster beliebig zu erweitern

// mischt die Einträge des $assinsarr-Arrays nach Zufall
shuffle ($asinarr);

// Rückgabe des aktuellen ersten Eintrages des Arrays:
echo '<a href="'.$asinarr[0]['href'].'" target="_blank" >'.$asinarr[0]['titel'].'</a>';
?>



Muss ich das jetzt halt noch anpassen/ergänzen, so wie es sein muss.


hmm - im Grunde muss man glaube ich nur ein paar Zeilen dazuschreiben. Weiß aber nicht genau wie...

freu mich wenn du nochmals antwortest

LG
Joo_bert:beer:

 
pekka
07-03-2010, 21:13 
 
Was ist denn eigentlich das Problem, es ist doch schon alles da? Du hast ein Array mit ASINs, und shuffle() zum durchmischen.

Außer daß Du statt der letzten Zeile folgendes machen mußt:


// Rückgabe des aktuellen ersten Eintrages des Arrays:
foreach ($asinarr as $asin)
echo '<a href="'.$asin['href'].'" target="_blank" >'.$asin['titel'].'</a>';

 
joo_bert1000
08-03-2010, 07:06 
 
Hallo Pekka

vielen Dank für die Antwort. Freu mich sehr von dir zu hoeren.

Was ist denn eigentlich das Problem, es ist doch schon alles da? Du hast ein Array mit ASINs, und shuffle() zum durchmischen.

Außer daß Du statt der letzten Zeile folgendes machen mußt:


// Rückgabe des aktuellen ersten Eintrages des Arrays:
foreach ($asinarr as $asin)
echo '<a href="'.$asin['href'].'" target="_blank" >'.$asin['titel'].'</a>';



vielen Dank ! Das ist super! Ich werde da dran arbeiten. Hab das nochmals mit dem besprochen der mir schon die ersten Schnippsel gegeben hat.
Er hat noch was dazugesqagt: Und zwar zum Script: Wie findest du das denn!?



<?php
/**
* @version $Id: mod_random_image.php 10381 2008-06-01 03:35:53Z pasamio $
* @package Joomla
* @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
* @license GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/


// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
$asinarr=array();


$asinarr = array(
array(
"ASIN"=>"8791364906",
"titel"=>"Joomla.org",
"href"=>"http://www.joomla.org"
),
array(
"ASIN"=>"3772373569",
"titel"=>"Joomla.de",
"href"=>"http://www.joomla.de"
),


);


shuffle ($asinarr);


echo "<TABLE cellpadding=5 width=100%><TR>";
echo "<TD align=center>";
echo '<img src=http://images.amazon.com/images/P/'.$asinarr['0']['ASIN'].'.03.MZZZZZZZ.jpg>';
echo "</TD>";

echo "</TR><TR>";
echo "<TD align=center>";
echo "REVIEW: ".'<a href="'.$asinarr[0]['href'].'" target="_blank" >'.$asinarr[0]['titel'].'</a>';
echo "</TD>";
echo "</TR>";

echo "</TABLE>";





?>




Wie findest du das denn!?

Ergebnis des Scripts: Classic Josephine - Startseite (http://www.classic-josephine.de)[/QUOTE]

Vielen dank - das hier ist ein echtes Superforum!!1

Gruss Jobert

 
joo_bert1000
09-03-2010, 13:55 
 
hi Pekka

will das erweitern -auf 10 Einträge
kannst du nochn tipp geben

gruss
jobert

 
AmicaNoctis
09-03-2010, 14:03 
 
Hallo,

zwei sind ja nun schon drin, also solltest du ja klar erkennen können, wie man noch ein drittes, viertes, ... hinzufügt. Oder meinst du, dass du die Ausgabe auf 10 Einträge erweitern willst?

Gruß,

Amica

 
joo_bert1000
09-03-2010, 18:53 
 
hi Amica

vielen Dank für die Infos

ich will da insges. so ca 8 bis 10 Einträge reinmachen. Das würde ich - als Anfänger einfach verdoppeln - also die Zeilen entsprechend wiederholen.

Geht das so!?

ich werd das morgen mal in einer Version hier reinstellen - so wie ich das denke dass es gehen muesste

freu mich dann auf tipps und ideen

gruss
jobert
der jetzt ganz schnell aus dem Hause muss :o

 
pekka
09-03-2010, 18:54 
 
hi Amica
ich will da insges. so ca 8 bis 10 Einträge reinmachen. Das würde ich - als Anfänger einfach verdoppeln - also die Zeilen entsprechend wiederholen.

Geht das so!?


Das müßte klappen. Probier's einfach aus, wenn es Fehler gibt wirst du die schon sehen.

 
joo_bert1000
10-03-2010, 07:32 
 
hi Pekka, hallo Amica - guten Morgen.

ich probier das also heute mal aus - und poste das dann hier rein.


Schon jetzt vielen Dank für so viele Hilfe !! Ein tolles board hier!

Bis spaeter

viele Gruesse

Joo_bert1000 ;-)

 
joo_bert1000
10-03-2010, 10:31 
 
hi Pekka hi Amica


Also das Ergebnis sollte sein wie auf der Site http://www.classic-josephine.de/ siehe den unteren Block in der linken Spalte
Nur eben mit vier einträgen oder Bildern (und zugehoerigen Links)


Also ich hab das mal versucht - sieht so aus.


<?php
/**
* @version $Id: mod_random_image.php 10381 2008-06-01 03:35:53Z pasamio $
* @package Joomla
* @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
* @license GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/


// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
$asinarr=array();


$asinarr = array(
array(
"ASIN"=>"8791364906",
"titel"=>"Joomla.org",
"href"=>"http://www.joomla.org"
),
array(
"ASIN"=>"3772373569",
"titel"=>"Joomla.de",
"href"=>"http://www.joomla.de"
),


);

array(
"ASIN"=>"3772373569",
"titel"=>"Joomla.de",
"href"=>"http://www.joomla.de"
),


);




array( "ASIN"=>"3772373569",
"titel"=>"Joomla.de",
"href"=>"http://www.joomla.de"
),


);

shuffle ($asinarr);

echo "<TABLE cellpadding=5 width=100%><TR>";
echo "<TD align=center>";
echo '<img src=http://images.amazon.com/images/P/'.$asinarr['0']['ASIN'].'.03.MZZZZZZZ.jpg>';
echo "</TD>";

echo "</TR><TR>";
echo "<TD align=center>";
echo "REVIEW: ".'<a href="'.$asinarr[0]['href'].'" target="_blank" >'.$asinarr[0]['titel'].'</a>';
echo "</TD>";
echo "</TR>";

echo "</TABLE>";



echo "</TR><TR>";
echo "<TD align=center>";
echo "REVIEW: ".'<a href="'.$asinarr[0]['href'].'" target="_blank" >'.$asinarr[0]['titel'].'</a>';
echo "</TD>";
echo "</TR>";

echo "</TABLE>";


echo "</TR><TR>";
echo "<TD align=center>";
echo "REVIEW: ".'<a href="'.$asinarr[0]['href'].'" target="_blank" >'.$asinarr[0]['titel'].'</a>';
echo "</TD>";
echo "</TR>";

echo "</TABLE>";




?>

Das Ergebnis sollte sein wie auf der Site http://www.classic-josephine.de/ siehe den unteren Block in der linken Spalte
Nur eben mit vier einträgen oder Bildern (und zugehoerigen Links)

Freu mich wenn da einer drüberschaut.

gruss jobert

 
AmicaNoctis
10-03-2010, 10:34 
 
Hallo,

ne das ist falsch. Mach es einfach so:

//...
$asinarr=array();

$asinarr[] = array("ASIN"=>"8791364906", "titel"=>"Joomla.org", "href"=>"http://www.joomla.org");
$asinarr[] = array("ASIN"=>"...", "titel"=>"...", "href"=>"...");
$asinarr[] = array("ASIN"=>"...", "titel"=>"...", "href"=>"...");
// u. s. w.

shuffle ($asinarr);
// ...

 
joo_bert1000
10-03-2010, 11:36 
 
Hallo Amica, vielen Dank für die schnelle Antwort


dann mach ich das mal so.

Das Ergebnis bau ich dann mal zusammen - es soll so sein wie auf der Site Classic Josephine - Startseite (http://www.classic-josephine.de/) siehe den unteren Block in der linken Spalte. Nur eben mit vier einträgen oder Bildern (und zugehoerigen Links)

Dir nochmals vielen Dank

liebe Gruesse
Joo_bert

 
AmicaNoctis
10-03-2010, 11:42 
 
es soll so sein wie auf der Site Classic Josephine - Startseite siehe den unteren Block in der linken Spalte. Nur eben mit vier einträgen oder Bildern (und zugehoerigen Links

Warum wiederholst du das ständig?

 
joo_bert1000
10-03-2010, 18:15 
 
hi Amica


danke fuer die Antwort.

Warum wiederholst du das ständig?

weil es mir wichtig ist dass man weiß um welches Beispiel es geht - bzw. was rauskommen soll.

Die seite gehoert nicht mir - ehrlich nicht.

Freu mich wenn du mir den Code einfach im Ganzen mal noch zeigst.


Vielen Dank -wenn du das nochmals postest...

Lieber Grusss
joo B

 
AmicaNoctis
10-03-2010, 18:40 
 
Freu mich wenn du mir den Code einfach im Ganzen mal noch zeigst.

Wie jetzt? Nochmal? Was ist denn jetzt noch unklar? Vielleicht solltest du mal anfangen, vernünftige Fragen zu stellen? :dontknow:

 
joo_bert1000
10-03-2010, 19:16 
 
hi Amica

vielen Dank fürs Posten.

Wie jetzt? Nochmal? Was ist denn jetzt noch unklar? Vielleicht solltest du mal anfangen, vernünftige Fragen zu stellen? :dontknow:


also - ich bin halt Anfänger: kannst du den Code mal insgesamt reinstellen - mit dem Shuffle-Teil.

Sorry - bin eben blutiger Anfänger.



//...
$asinarr=array();

$asinarr[] = array("ASIN"=>"8791364906", "titel"=>"Joomla.org", "href"=>"http://www.joomla.org");
$asinarr[] = array("ASIN"=>"...", "titel"=>"...", "href"=>"...");
$asinarr[] = array("ASIN"=>"...", "titel"=>"...", "href"=>"...");
// u. s. w.

shuffle ($asinarr);
// ...



Freu mich, wenn du mir hier hilfts.

Viele Grüße

Joo_BERT:dontknow:

 
AmicaNoctis
10-03-2010, 19:46 
 
Was soll das denn bringen? Ab dem shuffle-Teil bleibt es so wie es ist. Ich wollte nur nicht den ganzen Code nochmal kopieren, nur um diese paar Zeilen zu ändern. Wenn du das nicht zusammengefügt bekommst, kann dir sowieso niemand helfen. Mit Anfänger hat das nichts mehr zu tun, sorry.

 
joo_bert1000
10-03-2010, 21:44 
 
hi Was soll das denn bringen? Ab dem shuffle-Teil bleibt es so wie es ist. Ich wollte nur nicht den ganzen Code nochmal kopieren, nur um diese paar Zeilen zu ändern. Wenn du das nicht zusammengefügt bekommst, kann dir sowieso niemand helfen. Mit Anfänger hat das nichts mehr zu tun, sorry.

also - vielen Dank - ich bau das mal zusammen.

gruß jobert


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:42 Uhr.