Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie
Toon posts:

Php ouput style of div geven in Magento

Pagina: 1
Acties:
  • 735 views

  • mustiej
  • Registratie: september 2011
  • Laatst online: 03:51
Beste mensen,

Ik heb de volgende code:

PHP:
1
<div class="kortingsPercentage1"><?php $_helper = Mage::helper('catalog/output'); echo $_helper->productAttribute($_product, $_product->getActiekorting(), 'actiekorting')?></div>


Die ik probeer te stylen maar telkens gaat de output weg(output=25%). In de php tags met echo div aanmaken lukt ook niet.
Wat is jullie manier? Ik gebruik magento en php oop niet zo lang namelijk.

[Voor 2% gewijzigd door RobIII op 15-04-2015 22:00. Reden: Code tags toegevoegd]


  • TJHeuvel
  • Registratie: mei 2008
  • Niet online
Wat bedoel je exact met "de output gaat weg"? En waarom lukt het niet om een div te echo'en?

Probeer eens naar de bron (view source) van de pagina te kijken, wellicht zie je daar de PHP fout wel terugkomen, en anders in een PHP error log. Dit geeft je meer informatie over wat er wanneer mis gaat.

Freelance Unity3D developer


  • mustiej
  • Registratie: september 2011
  • Laatst online: 03:51
TJHeuvel schreef op dinsdag 14 april 2015 @ 13:41:
Wat bedoel je exact met "de output gaat weg"? En waarom lukt het niet om een div te echo'en?

Probeer eens naar de bron (view source) van de pagina te kijken, wellicht zie je daar de PHP fout wel terugkomen, en anders in een PHP error log. Dit geeft je meer informatie over wat er wanneer mis gaat.
Zonder enige html invoer krijgt de php de uitkomst "25%" en dit wil ik stylen naar eigen smaak natuurlijk. Zoals in OP heb ik geprobeerd de uitkomt in een div class te zetten maar zodra ik dat doe werkt het php code niet meer en krijg ik geen uitkomst.

  • Merethil
  • Registratie: december 2008
  • Laatst online: 01:45
mustiej schreef op dinsdag 14 april 2015 @ 14:19:
[...]


Zonder enige html invoer krijgt de php de uitkomst "25%" en dit wil ik stylen naar eigen smaak natuurlijk. Zoals in OP heb ik geprobeerd de uitkomt in een div class te zetten maar zodra ik dat doe werkt het php code niet meer en krijg ik geen uitkomst.
Mis je geen puntkomma achter
PHP:
1
$_helper->productAttribute($_product, $_product->getActiekorting(), 'actiekorting')

?

  • mustiej
  • Registratie: september 2011
  • Laatst online: 03:51
Merethil schreef op dinsdag 14 april 2015 @ 14:39:
[...]


Mis je geen puntkomma achter
PHP:
1
$_helper->productAttribute($_product, $_product->getActiekorting(), 'actiekorting')

?
Nee dat mis ik niet, vraag mij niet waarom maar bij Magento zijn de codes zo. Het is OOP dus misschien heeft het daarmee te maken. Maar ik ben er nog mee bezig maar het lukt mij nog steeds niet om de output in een div te zetten.

  • Merethil
  • Registratie: december 2008
  • Laatst online: 01:45
mustiej schreef op dinsdag 14 april 2015 @ 16:49:
[...]


Nee dat mis ik niet, vraag mij niet waarom maar bij Magento zijn de codes zo. Het is OOP dus misschien heeft het daarmee te maken. Maar ik ben er nog mee bezig maar het lukt mij nog steeds niet om de output in een div te zetten.
Zet dan even duidelijk de code neer zoals jij hem nu in je bestand hebt, 1:1. In codeblocks graag, dan is het beter leesbaar ;)

  • mustiej
  • Registratie: september 2011
  • Laatst online: 03:51
Regel 61:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
// *SNIP* DISCLAIMERS EN MEUK VERWIJDERD

<?php if (($_products = $this->getProductCollection()) && $_products->getSize()): ?>
<div class="page-title category-title">
        <h1><?php echo $this->__('New Products') ?></h1>
</div>
<?php $_columnCount = 1; ?>
    <?php $i=0; foreach ($_products->getItems() as $_product): ?>
        <?php if ($i++%$_columnCount==0): ?>
        <ul class="products-grid row">
        <?php endif ?>
            <li class="actielijst">
                <div class="grid_wrapper1">
                <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->htmlEscape($_product->getName()) ?>" class="product-image1"><img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(200) ?>" alt="<?php echo $this->htmlEscape($_product->getName()) ?>" /></a> 
                <div class="product-shop1">
                    <h3 class="product-name1"><a href="<?php echo $_product->getProductUrl() ?>" class="naam-oranje" title="<?php echo $this->htmlEscape($_product->getName()) ?>"><?php echo $this->htmlEscape($_product->getName()) ?></a></h3>
                    <div class="voorraad"><?php echo $this->__('Voorraad:') ?> <span><?= (int) Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty()?></span><span>&nbsp;stuks, zolang de voorraad strekt</span></div>
                    <div class="normalPrice1">
                        <?php echo ITwebexperts_Payperrentals_Helper_Price::getPriceListHtml($_product); ?>
                    </div>
                    <div class="desc_grid1"><?php $small_getDescription = strip_tags($_product->getShortDescription());
                        if (strlen($small_getDescription) < 70) echo($small_getDescription);
                        else { echo mb_substr($small_getDescription, 0, 50,'UTF-8').'...';} ?></div>                    
                    <div class="actions1">
                        <a href="<?php echo $this->getAddToCartUrl($_product) ?>" class="link_actions1"><span class="icon-shopping-cart"></span></a>
                        <a href="<?php echo $_product->getProductUrl() ?>" class="link_actions2"><span class="icon-info"></span></a>
                        <?php if ($this->helper('wishlist')->isAllow()) : ?>
                        <a href="<?php echo $this->getAddToWishlistUrl($_product) ?>" class="link_actions3"><span class="icon-heart-empty"></span></a>
                        <?php endif; ?>
                        <?php if ($_compareUrl = $this->getAddToCompareUrl($_product)): ?>
                        <a href="<?php echo $_compareUrl ?>" class="link_actions4"><span class="icon-resize-small"></span></a>
                        <?php endif; ?>                                                                                             
                    </div>
                </div>
       
                 <div class="product-button1"><a href="<?php echo $_product->getProductUrl() ?>" title="reserveren"><span class="reserverenButton1">Reserveer hier</span></a></div>
                 <div class="css-shapes-preview1"><div class="kortingsPercentage1"><?php $_helper = Mage::helper('catalog/output'); echo $_helper->productAttribute($_product, $_product->getActiekorting(), 'actiekorting')?></div><div class="korting1">KORTING</div></div>
                <?php $_product = Mage::getModel('catalog/product')->load($_product->getId()); ?>
                <div class="label-product">             
                    <?php if($_product->getData('new')){echo '<span class="new">'.$this->__('New').'</span>';  }?>
                    <?php if($_product->getData('sale')){echo '<span class="sale">'.$this->__('Sale').'</span>';  }?>
                </div>
                </div>
            </li>
        <?php if ($i%$_columnCount==0 || $i==count($_products)): ?>
        </ul>
        <?php endif ?>
    <?php endforeach; ?>
    <script type="text/javascript">decorateGeneric($$('ul.products-grid'), ['odd','even','first','last'])</script>
<?php endif; ?>


ps: hoe zet je laptekst in een leesbare vak in de editor?

[Voor 10% gewijzigd door RobIII op 15-04-2015 22:01. Reden: Code tags toegevoegd]


  • NielsNL
  • Registratie: januari 2002
  • Laatst online: 15-01 13:51

NielsNL

DigiCow

mustiej schreef op dinsdag 14 april 2015 @ 17:12:
Regel 61:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<?php
/**
 * Magento
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Academic Free License (AFL 3.0)
 * that is bundled with this package in the file LICENSE_AFL.txt.
 * It is also available through the world-wide-web at this URL:
 * http://opensource.org/licenses/afl-3.0.php
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@magentocommerce.com so we can send you a copy immediately.
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade Magento to newer
 * versions in the future. If you wish to customize Magento for your
 * needs please refer to http://www.magentocommerce.com for more information.
 *
 * @category    design
 * @package     base_default
 * @copyright   Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
 * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
 */
?>
<?php if (($_products = $this->getProductCollection()) && $_products->getSize()): ?>
<div class="page-title category-title">
        <h1><?php echo $this->__('New Products') ?></h1>
</div>
<?php $_columnCount = 1; ?>
    <?php $i=0; foreach ($_products->getItems() as $_product): ?>
        <?php if ($i++%$_columnCount==0): ?>
        <ul class="products-grid row">
        <?php endif ?>
            <li class="actielijst">
                <div class="grid_wrapper1">
                <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->htmlEscape($_product->getName()) ?>" class="product-image1"><img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(200) ?>" alt="<?php echo $this->htmlEscape($_product->getName()) ?>" /></a> 
                <div class="product-shop1">
                    <h3 class="product-name1"><a href="<?php echo $_product->getProductUrl() ?>" class="naam-oranje" title="<?php echo $this->htmlEscape($_product->getName()) ?>"><?php echo $this->htmlEscape($_product->getName()) ?></a></h3>
                    <div class="voorraad"><?php echo $this->__('Voorraad:') ?> <span><?= (int) Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty()?></span><span>&nbsp;stuks, zolang de voorraad strekt</span></div>
                    <div class="normalPrice1">
                        <?php echo ITwebexperts_Payperrentals_Helper_Price::getPriceListHtml($_product); ?>
                    </div>
                    <div class="desc_grid1"><?php $small_getDescription = strip_tags($_product->getShortDescription());
                        if (strlen($small_getDescription) < 70) echo($small_getDescription);
                        else { echo mb_substr($small_getDescription, 0, 50,'UTF-8').'...';} ?></div>                    
                    <div class="actions1">
                        <a href="<?php echo $this->getAddToCartUrl($_product) ?>" class="link_actions1"><span class="icon-shopping-cart"></span></a>
                        <a href="<?php echo $_product->getProductUrl() ?>" class="link_actions2"><span class="icon-info"></span></a>
                        <?php if ($this->helper('wishlist')->isAllow()) : ?>
                        <a href="<?php echo $this->getAddToWishlistUrl($_product) ?>" class="link_actions3"><span class="icon-heart-empty"></span></a>
                        <?php endif; ?>
                        <?php if ($_compareUrl = $this->getAddToCompareUrl($_product)): ?>
                        <a href="<?php echo $_compareUrl ?>" class="link_actions4"><span class="icon-resize-small"></span></a>
                        <?php endif; ?>                                                                                             
                    </div>
                </div>
       
                 <div class="product-button1"><a href="<?php echo $_product->getProductUrl() ?>" title="reserveren"><span class="reserverenButton1">Reserveer hier</span></a></div>
                 <div class="css-shapes-preview1"><div class="kortingsPercentage1"><?php $_helper = Mage::helper('catalog/output'); echo $_helper->productAttribute($_product, $_product->getActiekorting(), 'actiekorting')?></div><div class="korting1">KORTING</div></div>
                <?php $_product = Mage::getModel('catalog/product')->load($_product->getId()); ?>
                <div class="label-product">             
                    <?php if($_product->getData('new')){echo '<span class="new">'.$this->__('New').'</span>';  }?>
                    <?php if($_product->getData('sale')){echo '<span class="sale">'.$this->__('Sale').'</span>';  }?>
                </div>
                </div>
            </li>
        <?php if ($i%$_columnCount==0 || $i==count($_products)): ?>
        </ul>
        <?php endif ?>
    <?php endforeach; ?>
    <script type="text/javascript">decorateGeneric($$('ul.products-grid'), ['odd','even','first','last'])</script>
<?php endif; ?>


ps: hoe zet je laptekst in een leesbare vak in de editor?
Het is niet de bedoeling om constant <?php ?> neer te zetten.
En heb je regel 17 gelezen?
Ook word er in regel 61 een class opgeroepen waar we de code niet van hebben.

M'n Oma is een site aan het haken.


  • Merethil
  • Registratie: december 2008
  • Laatst online: 01:45
Ik zie allerlei regels PHP die niet eindigen met een puntkomma. Volgens mij is die verplicht bij PHP toch?(zie bv regel 61 en 62)

  • _trickster_
  • Registratie: mei 2005
  • Laatst online: 20:11
NielsNL schreef op dinsdag 14 april 2015 @ 17:14:
[...]
Het is niet de bedoeling om constant <?php ?> neer te zetten.
Waarom zou dat niet mogen ?
NielsNL schreef op dinsdag 14 april 2015 @ 17:14:
[...]
En heb je regel 17 gelezen?
Bij magento is het inderdaad niet de bedoeling om de Core files direct te wijzigen, maar een Kopie te maken van de huidige file en die daarna op de eigen template folder te plaatsen.
Merethil schreef op dinsdag 14 april 2015 @ 17:19:
Ik zie allerlei regels PHP die niet eindigen met een puntkomma. Volgens mij is die verplicht bij PHP toch?(zie bv regel 61 en 62)
Bij Php hoeft de laatste functie binnen de <?php ?> Tag's niet persee afgesloten te worden,
Al is Het is wel netjes

Maar je gebruikt als Classname 25% ?
Daar gaat het denk ik al fout, aangezien het Procentteken (%) niet in een classname mag voorkomen.


Dat heb ik niet goed gelezen. foutje

Krijg je iets van Error output ? In je Apache log / Magento Log of direct op je page ?

[Voor 71% gewijzigd door _trickster_ op 14-04-2015 17:28]


  • NielsNL
  • Registratie: januari 2002
  • Laatst online: 15-01 13:51

NielsNL

DigiCow

_trickster_ schreef op dinsdag 14 april 2015 @ 17:21:
[...]
Waarom zou dat niet mogen ?
Ik zei niet dat het verboden was, ik zei, niet de bedoeling.
Het wordt er op z'n zachtst gezegt moeilijk leesbaar van.

M'n Oma is een site aan het haken.


  • mustiej
  • Registratie: september 2011
  • Laatst online: 03:51
Dit is Magento, dit bestand is van de core afgehaald, aangepast en op de costum directory geplaatst waar het wel kan en hoort.

Ik heb weinig php aan toegevoegd dus is niet echt mijn codes maar van stageplek(heb toestemming).
Maar zonder <div class="kortingsPercentage1"></div> bij regel 61 dan krijg ik als output 25% wat inderdaad klopt. Maar ik probeer het dus in de div te zetten voor css styling. En ik krijg geen error output, ook niks op de magento of op de pagina zelf. Gewoon niets. via Inspect Element zie je gewoon dat het 0px bij 0px is en dus niet css gerelateerd is(z-index bijv).

  • Merethil
  • Registratie: december 2008
  • Laatst online: 01:45
mustiej schreef op dinsdag 14 april 2015 @ 19:26:
Dit is Magento, dit bestand is van de core afgehaald, aangepast en op de costum directory geplaatst waar het wel kan en hoort.

Ik heb weinig php aan toegevoegd dus is niet echt mijn codes maar van stageplek(heb toestemming).
Maar zonder <div class="kortingsPercentage1"></div> bij regel 61 dan krijg ik als output 25% wat inderdaad klopt. Maar ik probeer het dus in de div te zetten voor css styling. En ik krijg geen error output, ook niks op de magento of op de pagina zelf. Gewoon niets. via Inspect Element zie je gewoon dat het 0px bij 0px is en dus niet css gerelateerd is(z-index bijv).
Dat ie 0px bij 0px is betekent dus dat je div geen grootte heeft en dus de inhoud ook niet getoond wordt. Als je dat eens aanpast, wat gebeurt er dan?

  • mustiej
  • Registratie: september 2011
  • Laatst online: 03:51
Merethil schreef op dinsdag 14 april 2015 @ 21:21:
[...]


Dat ie 0px bij 0px is betekent dus dat je div geen grootte heeft en dus de inhoud ook niet getoond wordt. Als je dat eens aanpast, wat gebeurt er dan?
Je ziet dat het div een grootte krijgt maar geen resultaat output. Ik begrijp niet waarom hij in magento dit niet makkelijk accepteert en bij hardcoding wel :/

  • Ragdoll
  • Registratie: januari 2010
  • Laatst online: 22:58

Ragdoll

excommunicado

Die actiekorting is een attribuut?
Heb je die aangemaakt via attributen beheer?

Anders ben je al snel klaar met:
PHP:
1
<?php echo $_helper->productAttribute($_product, nl2br($_product->get"attributecode"()), 'attribute_label') ?>


In jouw geval:

PHP:
1
<?php echo $_helper->productAttribute($_product, nl2br($_product->getActiekorting()), 'Actiekorting') ?>


Dat zou je probleemloos in een div kunnen plaatsen.

Zojuist getest met een nieuw attribuut in mijn eigen webshop en deze kan gewoon gestyled worden.

Mijn code was:
HTML:
1
2
<div class="actiekorting">
<?php echo $_helper->productAttribute($_product, nl2br($_product->getActiekorting()), 'Actiekorting') ?></div>


Cascading Stylesheet:
1
.actiekorting{font-size: 9px; color: red;}


output:
http://tweakers.net/ext/f/c4aXDIex6dQ3FjaoNQm6vGzH/full.png

[Voor 39% gewijzigd door Ragdoll op 14-04-2015 23:15]


  • mustiej
  • Registratie: september 2011
  • Laatst online: 03:51
Ragdoll schreef op dinsdag 14 april 2015 @ 22:11:
Mijn code was:
HTML:
1
2
<div class="actiekorting">
<?php echo $_helper->productAttribute($_product, nl2br($_product->getActiekorting()), 'Actiekorting') ?></div>
Dit werkt, bedankt! maar wat is de $_product, nl2br voor bedoelt?

  • RobIII
  • Registratie: december 2001
  • Laatst online: 05:49

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

mustiej schreef op woensdag 15 april 2015 @ 21:25:
[...]


Dit werkt, bedankt! maar wat is de $_product, nl2br voor bedoelt?
Je kunt toch zeker wel googlen en/of documentatie lezen :?
mustiej schreef op dinsdag 14 april 2015 @ 17:12:
ps: hoe zet je laptekst in een leesbare vak in de editor?
Daar hebben we code tags voor, maar we vinden 't ook altijd fijn als je enkel relevante(!) stukjes(!) code post en geen enorme lappen code (laat staan met nog eens een lap disclaimers/copyrights en andere meuk erboven). Probeer het volgende keer a.u.b. even te beperken tot enkel 't hoognodige ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


  • mustiej
  • Registratie: september 2011
  • Laatst online: 03:51
Helaas, dit heeft toch niet gewerkt. Ik krijg Fatal error: Call to a member function productAttribute() on a non-object in /home/users/inhuvftp/inhuur.equiprent.nl/app/design/frontend/default/theme227k/template/catalog/product/new.phtml on line 61 als error maar met deze code:
PHP:
1
<?php  echo $_helper = Mage::helper('catalog/output'); echo $_helper->productAttribute($_product, $_product->getActiekorting(), 'actiekorting')?>
werkt maar als ik dat stuk in een divje zet dan krijg ik dus dit:

ps: de afbeelding is gecropt en bepaalde informatie is weggehaald.
Je ziet dat er in een div in zit met een grootte maar het bevat geen output van de php code. Zonder <div class""></div> werkt het wel.

  • Ragdoll
  • Registratie: januari 2010
  • Laatst online: 22:58

Ragdoll

excommunicado

Oke even voor mijn beeld vorming, wil je dit op de product pagina laten weergeven?

  • Creepy
  • Registratie: juni 2001
  • Laatst online: 01:40

Creepy

Moderator Devschuur®

Tactical Espionage Splatterer

Even terug naar het begin: Die foutmelding geeft redelijk duidelijk aan dat er iets aan de hand is ;) Hier gaan we er vanuit dat je dat eerst zelf probeert op te lossen. Dat lijk je nu helemaal niet gedaan te hebben. Wij zitten er hier niet om alle foutmeldingen maar direc voor je op te lossen.

Daarnaast heb je nu blijkbaar iets dat niet werkt, maar de situatie die wel werkt, laat je voor ons achterwege. Wij moeten elke keer aan je vragen om de juiste informatie te geven terwijl je zelf met wat denkwerk dat ook al zou kunnen doen. Verlijk op z'n minst de werkende en niet werkende versies met elkaar, en als je niet kan verklaren waarom daar verschil tussen zit, zet dan die informatie ook neer als vraag. maar ondanks dat je daar nu een paar keer op bent gewezen laat je weer maar 1 situatie zien.

Je stage moet je zelf tot een goed eind zien te brengen. Het is uiteraard niet de bedoeling dat wij dat voor je gaan doen. Dit topic ga ik dan ook sluiten. Je kan eventueel een nieuw topic openen maar let daarbij op Het algemeen beleid #quickstart, zodat je genoeg zelf hebt uitgezocht en je genoeg informatie geeft.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have star problems" --Kevlin Henney

Pagina: 1

Dit topic is gesloten.



Apple iPhone 12 Microsoft Xbox Series X LG CX Google Pixel 5 Sony XH90 / XH92 Samsung Galaxy S21 5G Sony PlayStation 5 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True