Csomagkövetés
- Tompika100
- Hozzászólások: 122
- Csatlakozott: hétf. nov. 26, 2012 5:48 pm
- Kapcsolat:
Csomagkövetés
Az lenne a kérdésem hogy pl a Gls csomaglövetö formja /http://online.gls-hungary.com/search_stat.php/ beágyazhato -e a webshopba ugy hogy a saját oldalunkon jelenjenek meg az adatok saját skinnel?
Tomka Pál
Re: Csomagkövetés
Ja, ez jó ötlet. Én is most a GLS-el szállítok, ezt az oldalt még nem is láttam.
Létrehozol egy új oldalt a templates/használt_skin/center könyvtárban az alábbi tartalommal, csak az alábbi tatalommal, nem kell semmi további html tag:
A templates/használt_skin/center.tpl-be pedig a felsorolások köz berakod ezt:
Valahogy így:
Ezután erre a linkre be fog jönni az oldal:
Ezt lehetne tovább fokozni, hogy a rendelési oldalon megadni a csomagszámot, és amikor érdeklődik adott rendelésére akkor Ajax-al lekérni ezt az oldalt mindjárt POST-al átadni a csomag számot, és feldolgozni a kapott tartalmat, és akkor szép kivitelben lehetne elé tálalni az eredményt. De ez a jövő zenéje.
Mezőfi
Létrehozol egy új oldalt a templates/használt_skin/center könyvtárban az alábbi tartalommal, csak az alábbi tatalommal, nem kell semmi további html tag:
Kód: Egész kijelölése
<iframe src="http://online.gls-hungary.com/search_stat.php" frameborder="0" height="500" width="400"></iframe>
Kód: Egész kijelölése
{elseif $smarty.get.center == "gls_csomag_kovetes"}
{include file="center/gls_csomag_kovetes.tpl"}
Kód: Egész kijelölése
{* Ha be kell tölteni egy tpl-t elore start *}
{if $centerTplNeve != NULL}
{include file="languages/$nyelv_mappa/$centerTplNeve"}
{/if}
{* Ha be kell tölteni egy tpl-t elore end *}
{if $smarty.get.center} {* Ha van választott oldal *}
{if $smarty.get.center == "kategoria_valaszto"}
{include file="center/kategoria_valaszto.tpl"}
{elseif $smarty.get.center == "gls_csomag_kovetes"}
{include file="center/gls_csomag_kovetes.tpl"}
{elseif $smarty.get.center == "adatkezeles"}
{include file="center/adatkezeles.tpl"}
...
..
.
Persze nagyobb az eredeti oldal, ezért a scroll ott lesz, de használható.index.php?center=gls_csomag_kovetes
Ezt lehetne tovább fokozni, hogy a rendelési oldalon megadni a csomagszámot, és amikor érdeklődik adott rendelésére akkor Ajax-al lekérni ezt az oldalt mindjárt POST-al átadni a csomag számot, és feldolgozni a kapott tartalmat, és akkor szép kivitelben lehetne elé tálalni az eredményt. De ez a jövő zenéje.
Mezőfi
Re: Csomagkövetés
Ma délután kicsit bubuckodtam, és összeraktam egy jó kis programot, de valószínűleg nem fogod tudni használni, kivéve ha meg tudod győzni a szolgáltatódat, hogy engedélyezze a file_get_contents() php függvény külső elérését.
Két fájl az egész, Ajax segítségével bekéri a csomag dolgait xml-en keresztül, és megjeleníti az oldalon. Nálam szépen működik. Ha nálad nem engedi a szolgáltató, akkor kitalálunk valami mást, pl egy felugró ablakba megjeleníti a csomag állapotokat, de első körben próbáld ezt, esztétikusabb szerintem.
Tehát ez legyen a gls_csomag_kovetes.tpl tartalma:
És kell még egy fájl aminek a neve legyen: ajax_gls.php, és tedd a shop/include/ajax könyvtárba. Tartalma pedig ez legyen:
Várom a visszajelzést.
Két fájl az egész, Ajax segítségével bekéri a csomag dolgait xml-en keresztül, és megjeleníti az oldalon. Nálam szépen működik. Ha nálad nem engedi a szolgáltató, akkor kitalálunk valami mást, pl egy felugró ablakba megjeleníti a csomag állapotokat, de első körben próbáld ezt, esztétikusabb szerintem.
Tehát ez legyen a gls_csomag_kovetes.tpl tartalma:
Kód: Egész kijelölése
<div style="margin: 20px 0px;">
<div id="glsresult"></div>
<div align="center"><fieldset style="width: 400px; padding:20px;">
<legend> GLS Csomag állapot lekérdezés </legend>
<input type="text" name="glsNumero" id="glsNumero" value="" maxlength="11" placeholder="Csomag ellenőrző száma" style="width: 200px;" /><br />
<input type="submit" name="glsBtn" id="glsBtn" value="Csomag állapot lekérdezés" style="margin-top:15px;" />
</fieldset></div>
</div>
{literal}
<script type="text/javascript">
$(document).ready(function(){
jQuery('#glsBtn').click(function(){
var m = jQuery("#glsNumero").val();
if(m == ''){
jQuery("#glsNumero").focus();
jQuery("#glsNumero").css('backgroundColor','RED');
alert("Üres");
return false;
}else{
/* Mehet a lekérdezés */
$.ajax({
type: "GET",
url: "include/ajax/ajax_gls.php?feladNumero="+ m.toString(),
success: function (oXHR, status){
jQuery('#glsresult').html(oXHR);
},
error: function (oXHR, status){
alert("Hiba történt");
}
});
}
});
});
</script>
{/literal}
Kód: Egész kijelölése
<?php
session_start();
/*
********************************************
* A php és mysql scripteket írta: *
* Mezofi István *
* http://www.mezofi.hu *
********************************************
*/
function glsCodeTable($code){
switch($code){
case "01":
$code = "IRSZ & Súly rögzítése, beérkezés";
break;
case "03":
$code = "Érkezés a depóba";
break;
case "04":
$code = "Kézbesítésre átvéve";
break;
case "05":
$code = "Kiszállítva";
break;
case "07":
$code = "Betárolva a Depóban";
break;
case "08":
$code = "Ügyfeles felvétel ";
break;
case "09":
$code = "Meghatározott időpontra történő kiszállítás ";
break;
case "11":
$code = "Szabadság";
break;
case "12":
$code = "Átvevő nem található";
break;
case "13":
$code = "Depó továbbítási hiba";
break;
case "14":
$code = "Áruátvétel bezárva";
break;
case "16":
$code = "Pénzhiány";
break;
case "17":
$code = "Átvétel megtagadása";
break;
case "18":
$code = "Hibás cím";
break;
case "19":
$code = "Megközelíthetetlen";
break;
case "20":
$code = "Rossz irányítószám";
break;
case "21":
$code = "HUB rakodási hiba";
break;
case "22":
$code = "Vissza a HUB-nak";
break;
case "23":
$code = "Vissza a feladónak";
break;
case "24":
$code = "Depó ismételt kiszállítás";
break;
case "25":
$code = "APL-hiba";
break;
case "29":
$code = "Nincs adat";
break;
case "30":
$code = "Sérülten érkezett";
break;
case "31":
$code = "Totálkár beérkezéskor";
break;
case "32":
$code = "Esti kézbesítés";
break;
case "33":
$code = "Időn túli várakoztatás";
break;
case "34":
$code = "Késői szállítás";
break;
case "35":
$code = "Nem rendelték";
break;
case "36":
$code = "Zárt lépcsőház";
break;
case "37":
$code = "Központ utasítására vissza";
break;
case "38":
$code = "Nincs szállítólevél a csomagon";
break;
case "39":
$code = "Nem igazolják le a szállítót";
break;
case "51":
$code = "Ügyfeles adat fogadva";
break;
case "52":
$code = "Ügyfeles utánvét adat fogadva";
break;
case "83":
$code = "P&S/P&R rögzítve";
break;
case "84":
$code = "P&S/P&R kinyomtatva";
break;
case "85":
$code = "P&S/P&R rollkartén";
break;
case "86":
$code = "P&S/P&R felvéve";
break;
case "87":
$code = "Nincs P&S/P&R csomag";
break;
case "88":
$code = "Küldemény nem áll készen";
break;
case "89":
$code = "Kevesebb csomagcímke";
break;
case "90":
$code = "Feladva más úton";
break;
case "91":
$code = "P&S, P&R törölve";
break;
}
return $code;
}
define('IN_MAIN',true); # Az aloldalakat ne lehessen külön behívni
$kimenet = "hiba|Nincs meg minden azonosító!";
if(isset($_GET["feladNumero"]) && trim($_GET["feladNumero"]) != "" ){
if(!@file_get_contents("http://online.gls-hungary.com/tt_page_xml.php?pclid=".trim($_GET["feladNumero"]),"rb")){
$kimenet = "<span style='color: RED;'>A file_get_contents() függvény használata le van tíltva külső elérésre!</span>";
echo iconv("iso-8859-2","utf-8",$kimenet);
exit;
}else{
$xml_string = file_get_contents("http://online.gls-hungary.com/tt_page_xml.php?pclid=".trim($_GET["feladNumero"]),"rb");
$xm = xml_parser_create();
}
require_once('../../constants.php');
require_once('../../connections/bolt.php');
require_once("../../functions/general.php");
xml_parse_into_struct($xm, $xml_string,$ertekek,$kulcsok);
xml_parser_free($xm);
//dolgozzuk tömbbe
$sorok = array();
$csomagszam = "";
$suly = "";
foreach($ertekek as $a){
if(isset($a["attributes"]["WEIGHT"])){
$suly = $a["attributes"]["WEIGHT"];
}
if(isset($a["attributes"]["PCLID"]) && is_array($a["attributes"])){
$csomagszam = $a["attributes"]["PCLID"];
}
if(isset($a["attributes"]["STCODE"]) && is_array($a["attributes"])){
$sorok[] = '<td align="center">'.$a["attributes"]["STDATE"] .'</td>
<td align="left">'. glsCodeTable($a["attributes"]["STCODE"]) .'</td>
<td align="center">'.$a["attributes"]["DEPO"] .'</td>
<td align="left">'. $a["attributes"]["STINFO"] .'</td>';
}
} // foreach($ertekek as $a){ end
if( count($sorok) > 0){
$kimenet = '<table style="margin-top: 50px; font-size:12px;" align="center">
<tr style="background-color: #F8B500; color: #0D006A;">
<th colspan="4" class="center" align=center>Csomagszám: '. $csomagszam .'</th>
</tr>
<tr style="background-color: #0D006A; color: white;" >
<th class="center">Dátum</th>
<th class="left">Státusz</th>
<th class="center">Depó</th>
<th class="left">Info</th>
</tr>';
for($i = 0; $i < count($sorok); $i++){
if($i%2 == 0){
$sor = "0";
}else{
$sor = "1";
}
$kimenet .= '<tr class="colored_'. $sor .'">';
$kimenet .= $sorok["$i"];
$kimenet .= '</tr>';
}
$kimenet .= '<tr style="background-color: #F8B500; color: #0D006A;">
<td colspan=2 align="right">Súly:</td>
<td colspan=2 align="left">'. $suly .' Kg</td>
</tr>
</table>';
}
mysql_close();
} // if(isset($_GET["bankId"]) && is_numeric($_GET["bankId"]) ){ end
echo iconv("iso-8859-2","utf-8",$kimenet);
?>
Re: Csomagkövetés
Itt a másik, ez egy sokkal egyszerűbb. Nem olyan guszta mint az Ajax-os, de nagy vállalatoknál is ezt láttam.
Ez a gls_csomag_kovetes.tpl fájl tartalma, és nem kell más fájl.
Ez a gls_csomag_kovetes.tpl fájl tartalma, és nem kell más fájl.
Kód: Egész kijelölése
<div style="margin: 20px 0px;">
<div id="glsresult"></div>
<div align="center"><fieldset style="width: 400px; padding:20px;">
<legend> GLS Csomag állapot lekérdezés </legend>
<input type="text" name="glsNumero" id="glsNumero" value="" maxlength="11" placeholder="Csomag ellenőrző száma" style="width: 200px;" /><br />
<input type="submit" name="glsBtn" id="glsBtn" value="Csomag állapot lekérdezés popUp" style="margin-top:15px;" onclick="glsCheck();" />
</fieldset></div>
</div>
{literal}
<script type="text/javascript">
function glsCheck(){
var m = jQuery("#glsNumero").val();
if(m == ''){
jQuery("#glsNumero").focus();
jQuery("#glsNumero").css('backgroundColor','RED');
alert("Üres");
return false;
}else{
openNewWindow("http://online.gls-hungary.com/tt_page.php?tt_value="+m+"&lng=hu", 800, 500, 1);
}
}
</script>
{/literal}
- Tompika100
- Hozzászólások: 122
- Csatlakozott: hétf. nov. 26, 2012 5:48 pm
- Kapcsolat:
Re: Csomagkövetés
Szuper,
Az én tárhelyemen írnom kellett a szolgáltatónak, hogy engedélyezze a külső elérést, mert különben nem tudom használni, még nem válaszolt.
Szerintem ez jobb megoldás mint a PopUp-os dolog.
Mezőfi
Az én tárhelyemen írnom kellett a szolgáltatónak, hogy engedélyezze a külső elérést, mert különben nem tudom használni, még nem válaszolt.
Szerintem ez jobb megoldás mint a PopUp-os dolog.
Mezőfi
- Tompika100
- Hozzászólások: 122
- Csatlakozott: hétf. nov. 26, 2012 5:48 pm
- Kapcsolat:
Ki van itt
Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 5 vendég