• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Ja nach Zahlengrößer andere CSS eigenschaft laden.

Noxxx-forever

New member
Hallo erstmal,

bevor ich hier gepostet habe, war ich schon relativ lange unterwegs, mitlerweile frage ich mich ob das überhaupt möglich ist, was ich möchte.

Ganz kurz, mit hilfe von PHP wird normalerweise die Lagermenge ausgegeben, das klappt auch (in einem Onlineshop) nun möchte ich aber das so gestalten, das es je nachdem was für eine Lagermenge ausgeben wird eine andere CSS eingeschaft geladen werden kann.

zb. folgendes

0 Stück am lager "css = rote Ampel"
0-3 Stück am Lager "css = gelbe Ampel"
>3 Am Lager "css = grüne Ampel"

Das CSS ist nicht das Problem, sondern das Javascript, hier mein bisheriges Script:

Code:
<script type="text/javascript">
var meinevar = <?php echo (int) Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty(); ?>;
function aendern()
{
     var text='Nicht Lagernd';
     if (meinevar > 0)
        text='Lagernd';
     document.getElementById('lager').innerHTML = text                       
}
</script> 

<div id="lager"></div>

Die 1. Zeile mit dem <?php echo... ?> liest korrekt den Lagerbestand aus. Hier ist das Script noch so das bei 0 das wort "Nicht Lagernd" und bei >0 "Lagern" ausgeben werden sollte, leider funktioniert das aber auch nicht... der Wert sollte es dann in die ID "lager" schreiben....

Kann mir jemand helfen? (Tipps???)
 
weil ich annahm, das zuerst auf dem Server das PHP script "erzeugt" wird, also die Zahl erstellt wird, und dannach das Javascript "drüber" fährt und die Zahl entsprechend auswerten kann, ich wüsste nun nicht wie ich PHP dazu bekommen sollte, denn wert auszulesen, und bei den Zahlen

0 Stück am lager "css = rote Ampel"
0-3 Stück am Lager "css = gelbe Ampel"
>3 Am Lager "css = grüne Ampel"

je eine andere ID oder sowas auszugeben....?! Aber ich bin lernfähig und würde mich gern "Bekehren" lassen...
 
Mit PHP hätte ich dies nun so gelöst, das Funktioniert auch, aber wie bekomme ich dies nun hin das es je nach größer eine Unterschiedliche ausgabe erzeugt (ID) damit ich diese mit CSS Formatieren kann?

Code:
								 <?php
    $a = (int) Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty();
    $b = 0;

    if ($a > $b)
        {
        echo "Lagernd";
        }

    if ($a < $b)
        {
        echo "Nicht Lagernd";
        }

    if ($a == $b)
        {
        echo "Nicht Lagernd";
        }
?>
 
Zuletzt bearbeitet:
weil ich annahm, das zuerst auf dem Server das PHP script "erzeugt" wird, also die Zahl erstellt wird,..

je eine andere ID oder sowas auszugeben....?! Aber ich bin lernfähig und würde mich gern "Bekehren" lassen...
Wieso sollte PHP nicht in der Lage sein je nach Zahl eine andere Klasse zu erstellen? (eine ID wäre hier Fehl am Platz).

PHP:
<?php 
$zahl = ...;
$klasse = $zahl > 3 ? 'ok' : $zahl > 0  ? 'warn' : 'alarm';
/?>

<div id="lager" class="<?php echo $klasse ?>"><?php echo $zahl ?></div>

jetzt musst du nur in deinem CSS die drei Klassen ok, warn, alarm nach deinen Wünschen gestalten.
 
Manmal hat man einfach denkfehler und ist zu lange in die eine Richtung gefahren... das ist komisch :)

Danke auf jeden Fall, nur habe ich es so gelöst, allerdings weis ich noch nicht wie ich die 3. Variable einbaue...

Code:
							 <?php
    $a = (int) Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty();
    $b = 0;

    if ($a > $b)
        {
        echo "<img src='/Ampel/ampel_gruen.png'>";
        }

    if ($a < $b)
        {
        echo "<img src='/media/Ampel/ampel_rot.png'>";
        }

    if ($a == $b)
        {
        echo "<img src='/media/Ampel/ampel_rot.png'>";
        }
?>

Jetzt müsste halt noch hin, zahl größer als 0 aber kleiner als, oder gleich 3
Code:
echo "<img src='/media/Ampel/ampel_gelb.png'>";
 
Zuletzt bearbeitet:
[Gelöst] AW: Ja nach Zahlengrößer andere CSS eigenschaft laden.

Meine Lösung, hoffe die ist nicht zu falsch :)

Code:
 <?php
    $a = (int) Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty();
    $b = 3;
    $c = 0;
    $d = 1;
    $e = 2;
    $f = 3;

    if ($a > $b)
        {
        echo "<img src=media/Ampel/ampel_gruen.png'>";
        }

    if ($a == $c)
        {
        echo "<img src='media/Ampel/ampel_rot.png'>";
        }
        
	if ($a == $d)
        {
        echo "<img src='media/Ampel/ampel_rot.png'>";
        }
        
	if ($a == $e)
        {
        echo "<img src='media/Ampel/ampel_rot.png'>";
        }
        
	if ($a == $f)
        {
        echo "<img src='media/Ampel/ampel_gelb.png'>";
        }

?>
 
Zuletzt bearbeitet:
Zurück
Oben