php datum
php datum
Zdravím možno je to pre niekoho maličkosť resp bizarnosť no ja si nedám rady..
Niesom vyučený programátor ani s tím nepracujem často ale potreboval by som pomoc
cez príkaz <td><?php echo $order['date_added']; ?></td> vypsujem dátum 13/03/2014 - 12:41:40
Potreboval by som ho asi rovno aj skrátiť stačí len na 13/03/2014 a potom pridať 14 dní.
Pridať by som možno aj vedel no nemôžem ten čas od tial dostať.
Skúste mi trošku pomoc. Dakujem
Niesom vyučený programátor ani s tím nepracujem často ale potreboval by som pomoc
cez príkaz <td><?php echo $order['date_added']; ?></td> vypsujem dátum 13/03/2014 - 12:41:40
Potreboval by som ho asi rovno aj skrátiť stačí len na 13/03/2014 a potom pridať 14 dní.
Pridať by som možno aj vedel no nemôžem ten čas od tial dostať.
Skúste mi trošku pomoc. Dakujem
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: php datum
Kód: Vybrať všetko
<?php
$datum = str_replace("/",".",reset(explode(" - ",$order['date_added'])));
echo date("d/m/Y", strtotime($datum . " +14 days"));
?>Re: php datum
Najprv som si začal hladat postupne tie funkcie no neskor som zistil ze hore si mi to už spravil ja že je to len qoute...audiotrack napísal:keďže máš ten dátum v nenormalizovanom formáte, aký sa bežne nepoužíva, treba ho najprv upraviť. V prvom kroku funkciou explode rozdelím reťazec na dve časti podľa pomlčky do poľa. Funkciou reset zoberiem prvý prvok (teda dátum), a funkciou str_replace nahradím lomítka za bodky. Takýto dátum potom môžem spracovať funkciou strtotime kde rovno pridám 14 dní, a vypíšem cez date zase v tvojom formáte s lomítkamiKód: Vybrať všetko
<?php $datum = str_replace("/",".",reset(explode(" - ",$order['date_added']))); echo date("d/m/Y", strtotime($datum . " +14 days")); ?>
Dakujem ti levmi pekne nečakal som ze len nakopírujem a hneď pôjde. Diky rovno som si pomenil všetky nech mi nezobrazuje čas ale iba dátum.
Dakujem
Re: php datum
Alebo použiješ inteligentnejšiu vec - http://www.php.net/manual/en/class.datetime.php
a využiješ statickú metódu createfromformat
(Uvádzam Example #1 z manuálu)
S triedou Datetime máš aj jednoduché pričítanie dní. Len ti treba dostatočnú verziu PHP (5.2 a viac)
A mimochodom, toto sa dá prepísať na
...pri jednoduchých výpisoch sa to hodí 
a využiješ statickú metódu createfromformat
(Uvádzam Example #1 z manuálu)
Kód: Vybrať všetko
<?php
$date = DateTime::createFromFormat('j-M-Y', '15-Feb-2009');
echo $date->format('Y-m-d');
?>A mimochodom, toto
Kód: Vybrať všetko
<td><?php echo $order['date_added']; ?></td>Kód: Vybrať všetko
<td><?= $order['date_added'] ?></td>-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: php datum
na ten výpis ale musí mať php >=5.4.0 alebo upraviť konfigurák a zapnúť short open tags
Re: php datum
Zdravím až teraz som si to prečítal. /keď potrebujem pomoc/audiotrack napísal:na ten výpis ale musí mať php >=5.4.0 alebo upraviť konfigurák a zapnúť short open tags
no php verziu mám 5.3.3-7 + squeeze17. Ked tak.
Prešiel som na novu verziu eshopu a teraz som pozeral výpis chýb.
A našiel som chyby práve v tej faktúre pri dátume tri riadky tri chyby. (v riadku 29, 32, 35)
PHP Unknown: Only variables should be passed by reference in faktura.tpl on line n
Na fakture mi ich nevypisuje no iba v error liste.
riadok 29
Kód: Vybrať všetko
<td><?php $datum = str_replace("/",".",reset(explode(" - ",$order['date_added']))); echo date("d/m/Y", strtotime($datum)); ?></td></tr>
Kód: Vybrať všetko
<td><?php $datum = str_replace("/",".",reset(explode(" - ",$order['date_added']))); echo date("d/m/Y", strtotime($datum)); ?></td>Kód: Vybrať všetko
<td><?php $datum = str_replace("/",".",reset(explode(" - ",$order['date_added']))); echo date("d/m/Y", strtotime($datum . " +14 days")); ?>-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: php datum
to máš tpl a nie php
Bolo by dobré napísať aký templatovací systém (a akú verziu) tvoj systém používa, a podľa toho ti povieme ako sa tam php vkladá. Optimálne riešenie je ten dátum vypočítať v php a do toho tpl poslať iba výstup aby si mal zachované MVC. V niektorých templatovacích systémoch (napríklad smarty) sa dá php vykonať priamo v tpl, ale neodporúča sa to
Bolo by dobré napísať aký templatovací systém (a akú verziu) tvoj systém používa, a podľa toho ti povieme ako sa tam php vkladá. Optimálne riešenie je ten dátum vypočítať v php a do toho tpl poslať iba výstup aby si mal zachované MVC. V niektorých templatovacích systémoch (napríklad smarty) sa dá php vykonať priamo v tpl, ale neodporúča sa to
Re: php datum
ja mám opencart verzia je 1.5.6.1.audiotrack napísal:to máš tpl a nie php
Bolo by dobré napísať aký templatovací systém (a akú verziu) tvoj systém používa, a podľa toho ti povieme ako sa tam php vkladá. Optimálne riešenie je ten dátum vypočítať v php a do toho tpl poslať iba výstup aby si mal zachované MVC. V niektorých templatovacích systémoch (napríklad smarty) sa dá php vykonať priamo v tpl, ale neodporúča sa to
viac v súbore..
- Prílohy
-
- inovice.rar
- príklad vkladania
- (2.97 KiB) 39 stiahnutí
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: php datum
tie tri riadky php ktoré som ti dal musíš dať do php súboru. Do ktorého neviem, ale zistíš to tak že si dáš vyhľadať faktura.tpl z ktorého súboru sa volá. A potom to tam hodiť iba ako premennú. Tieto dva súbory nestačia na to aby som ti to mohol celé napísať. A celý opencart nemám teraz čas sťahovať. Niekde tu ale už bola téma kde chalan potreboval do opencartu cenu bez dph alebo také niečo, tak to skús vyhľadať a bude to presne rovnako
Re: php datum
oukej chápem musím aj viem ako to myslíš. Vyskúšam ked bude čas a dám vediet.audiotrack napísal:tie tri riadky php ktoré som ti dal musíš dať do php súboru. Do ktorého neviem, ale zistíš to tak že si dáš vyhľadať faktura.tpl z ktorého súboru sa volá. A potom to tam hodiť iba ako premennú. Tieto dva súbory nestačia na to aby som ti to mohol celé napísať. A celý opencart nemám teraz čas sťahovať. Niekde tu ale už bola téma kde chalan potreboval do opencartu cenu bez dph alebo také niečo, tak to skús vyhľadať a bude to presne rovnako
//autoeditácia príspevku (22 Apr 2014, 20:38)
no už som to skúšal do
Kód: Vybrať všetko
/www/admin/controller/sale/oreder.phpKód: Vybrať všetko
/www/admin/view/template/sale/order_inovece.tplMyslel som že to pôjde no dátum mi ukazovalo v dobre formáte, len bolo 1/1/1970
A v error liste boli tie iste chyby + chyba z order.php kde bolo PHP Notice: Undefined index
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: php datum
ten dátum ti ukazuje zlý, lebo v premennej $datum v tom tpl nemáš nič. Takto sa premenné do tpl súboru neposielajú. To notice znamená, že premenná $order nemá index date_added. Znova narábaš s premennou tam, kde neexistuje
Re: php datum
Našiel som je to oreder.phpaudiotrack napísal:tie tri riadky php ktoré som ti dal musíš dať do php súboru. Do ktorého neviem, ale zistíš to tak že si dáš vyhľadať faktura.tpl z ktorého súboru sa volá.
Dal som <?php echo date("d/m/Y", strtotime($datum)); ?>audiotrack napísal: A potom to tam hodiť iba ako premennú.
a v order bolo niečo typu
$this->data['orders'][] = array('date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added'])),
$this->data['date_added'] = date($this->language->get('date_format_short'), strtotime($order_info['date_added']));
$this->data['orders'][] = array(
'date_added' => date($this->language->get('date_format_short'), strtotime($order_info['date_added'])),
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: php datum
viem ako to máš, písal si to v predošlom príspevku. Pošli sem ten order.php
Inak ten dátum čo sa snažíš robiť tam teda nakoniec možno aj bude. Zrejme v $order_info['date_added']
len stačí pozreť či sa tá premenná posiela do tpl a ako je tam nazvaná
Inak ten dátum čo sa snažíš robiť tam teda nakoniec možno aj bude. Zrejme v $order_info['date_added']
len stačí pozreť či sa tá premenná posiela do tpl a ako je tam nazvaná
Re: php datum
audiotrack napísal:viem ako to máš, písal si to v predošlom príspevku. Pošli sem ten order.php
Inak ten dátum čo sa snažíš robiť tam teda nakoniec možno aj bude. Zrejme v $order_info['date_added']
len stačí pozreť či sa tá premenná posiela do tpl a ako je tam nazvaná
- Prílohy
-
- order.rar
- (10.45 KiB) 43 stiahnutí