Strona główna > Aktywność > Forum > Programowanie i rozszerzenia > mutiprice_product - jak wybrac cene


mutiprice_product - jak wybrac cene

Musisz być zalogowany aby uzyskać dostęp do forum. Możesz się zalogować tutaj

Autor Wiadomość

Jakub Walczak

Postów: 15 od 05/09/2006

Środa 04 Lipiec 2007 11:36:54 pm

mutiprice_product - jak wybrac cene

dopiero zaczynam wgryzac sie w ez'ta, wiec prosze o wyrozumialosc.

szukam metody wyswietlenia jednej, wybranej ceny typu ezmultiprice, znalazlem cos takiego w kodzie:


function basePrice()
{
$baseCurrencyCode = $this->baseCurrency();
$basePrice =& $this->priceByCurrency( $baseCurrencyCode );
return $basePrice;
}

(btw, czy mozna na tym http://ezpsvn.sckcen.be/doxygen/3.9/html/classeZMultiPrice.html adresie polegac ?)
zalkladam, ze da sie z tego jakos skorzystac, tylo ja nie wiem jak.
chcialbym zobic jakos tak:

{attribute_view_gui attribute=$node.data_map.cena.baseCurrency()}

w tpl'u od klasy w ktorej jest zdefiniowany atrybut cena typu ezmultiprice. To nie dziala,
jak sie domyslam, skladnia jest nie taka, ale nie wiem gdzie szukac informacji jaka powinna byc. pewnie trzeba wstawic cos podobnego jak tu:

$node.data_map.image.content.data_map.image

(tylko nie wiem ile tych data_map i content mam wstawic i w jakiej kolejnosci :-)

prosze mie poprawic, jezeli zle mysle:
skoro mam mozliwosc wyboru waluty (nie pamietam jak, ale mam box "Preferred currency"), to pewnie jest ona gdzies (w jakiejs zmiennej globalnej ?) dostepna
ponadto jest definiowana funkcja priceByCurrency to w takim razie piszac:

$node.cos-tam.content.cos-tam.priceByCurrency(jeszcze_nieznana_mi_zmienna.currency-code)

powinienem dostac jedna cene w wybranej przez uzytkownika walucie (o ile taka jest zdefiniowana, ale obsluge bledow/wyjatkow to sobie zostawie na deser :-)

pozdrawiam
Jakub Walczak

Marcin Drozd

Postów: 378 od 04/01/2006

Piątek 06 Lipiec 2007 6:42:17 pm

Re: mutiprice_product - jak wybrac cene

ponadto jest definiowana funkcja priceByCurrency to w takim razie piszac:
$node.cos-tam.content.cos-tam.priceByCurrency(jeszcze_nieznana_mi_zmienna.currency-code)

nie dostaniesz sie do funkcji.
kolejne poziomy w zmiennej mozesz sprawdzic jak napisane na:
http://ez-publish.pl/aktywnosc/fo...datny_operator_w_wyswietlaniu_danych


Jakub Walczak

Postów: 15 od 05/09/2006

Sobota 07 Lipiec 2007 12:34:33 am

Re: mutiprice_product - jak wybrac cene

dzieki bardzo. tego mi bylo trzeba.

potrafie juz tez wyswietlic cala tablice (section loop)
a jak zrobic, zeby przeszukac tablice porownujac kod waluty (currency_code) z wybrana waluta (caly czas jeszcze szukam gdzie to jest trzymane), a jezeli nie znajdzie takiej to ma pokazac jakas inna (np. taka ktora ma type = 1)

inne pytanie to dlaczego


{attribute_view_gui attribute=$node.data_map.cena.content.inc_vat_price_list[PLN].value}

nic nie pokazuje tak samo content_view_gui (troche czasu zmarnowalem na wywalenie tych view_gui)
za to

{attribute_view_gui attribute=$node.data_map.cena}

pokazuje

<div class="attribute-price">
<p>
<!-- -->
Cena: <br>
zł 1220,00</p><p>
<i>&#8364; 324,80</i></p><p>
<i>&#163; (funt) 219.27</i></p><p>
<i>$441.75</i></p><p>
</p>
</div>

gdzie siedzi template od tego - na nim moglbym sie wzorowac - on pokazuje glowna cene (PLN) normalnie, a ceny przeliczane jako pochylone

jeszcze z inej beczki (moze to rozdzielic na kilka watkow ?)
to jak wyswietlic double'a z dokladnoscia do dwoch cyfr po przecinku (jak walute) , chcialem zrobic div ( round( mul( $item.value), 100 ) ) , 100 ) , ale to nie chce dzialac. nawet samo mul ($item.value, 100) geneguje bledy na stronie

Marcin Drozd

Postów: 378 od 04/01/2006

Sobota 07 Lipiec 2007 2:18:02 am

Re: mutiprice_product - jak wybrac cene

potrafie juz tez wyswietlic cala tablice (section loop)
w nowym podejcie do szablonow jest {foreach} zamiast {section loop}


a jak zrobic, zeby przeszukac tablice porownujac kod waluty (currency_code) z wybrana waluta (caly czas jeszcze szukam gdzie to jest trzymane), a jezeli nie znajdzie takiej to ma pokazac jakas inna (np. taka ktora ma type = 1)

np. {foreach $zmienna as $iem}
{if $item.type|eq(1)}
{* do sth *}
{else}
{* do sth else *}
{/if}
{/foreach}

dlaczego {attribute_view_gui attribute=$node.data_map.cena.content.inc_vat_price_list[PLN].value}

poniewaz do attribute_view_gui trzeba przkazac jako parametr atrybut klasy a nie wartosc atrybutu

za to
{attribute_view_gui attribute=$node.data_map.cena}
pokazuje

i bardzo dobrze. zobacz szablon templates/content/datatypev/iew/ezprice.tpl (jesli dobrze pamietam)

jeszcze z inej beczki (moze to rozdzielic na kilka watkow ?)
no moze, latwiej sie odpowiada :]


jak wyswietlic double'a z dokladnoscia do dwoch cyfr po przecinku (jak walute)
div ( round( mul( $item.value), 100 ) ) , 100 )

w tym zapisie akurat sie nie zgadzaja nawiasy :P

samo mul ($item.value, 100) geneguje bledy
jesli tak masz zapisane to beda bledy, gdyz po mul nie moze byc spacji.
funkcje zawsze polaczone z nawiasem mul( $item.value, 100 )


Musisz być zalogowany aby uzyskać dostęp do forum. Możesz się zalogować tutaj