E-mail

Általános kérdések a Webshop Hun1 Smarty programról.
Post Reply
droga
Hozzászólások: 23
Csatlakozott: kedd jún. 23, 2009 9:45 am
Kapcsolat:

Re: E-mail

Hozzászólás Szerző: droga »

Üdvözletem

Az E-mailküldő részben szeretnék módosítani egy apróságot.
Nomost ugyebár a megrendelésről értesítő E-mailek szövegében szerepel a postázási cím és a számlázási cím, amivel alapesetben nincs is gondom.

Viszont van a szállítási módjaim között egy olyan, hogy személyes átvétel.
Ez esetben ugyebár nem történik postázás, és szeretném, hogy a megrendelésről szóló E-mailekben ez esetben ne jelenjen meg a postázási cím, mert ez így elég zavaróan jön ki.

Azt szeretném megtudni, hogy ezt hogyan tudnám elérni.
Előre is köszönöm.

Avatar
mezofi
Site Admin
Hozzászólások: 933
Csatlakozott: csüt. okt. 16, 2008 7:30 am
Kapcsolat:

Re: E-mail

Hozzászólás Szerző: mezofi »

Első körben meg kell tudni mi az azonosítója annak a szállítási módnak ami személyes átvétel.
Shop admin felülete >> Szállítási módok >> Választott szállítási mód mögötti infó gombra kattintva megjelenik jobb oldalt egy box, a böngsző url-ben megjelenik az inf_id= .
Az inf_id után van egy szám, ez lenne az azonosító, ezzel kell majd ügyködni a következőkben. Tegyük fel ez a 3-as szám, nálam az. :)

Shop/include/email/email_megrendeles.php-ben van egy ilyen rész, nálam a 319. sorban:

Kód: Egész kijelölése

//Csomag
$uzenet_torzs.= "<br /><br /><b>".CSOMAG_CIM."</b><br />";
if($szallit_cim_tomb["ceg_nev"] != "" && $szallit_cim_tomb["ceg_nev"] != NULL){
$uzenet_torzs.= CEG_NEVE ." ". $szallit_cim_tomb["ceg_nev"] ."<br />";
}
$uzenet_torzs.= $szallit_cim_tomb["vez_nev"]."&nbsp;".$szallit_cim_tomb["ker_nev"]."<br />".$szallit_cim_tomb["ir_szam"]."
<br />".$szallit_cim_tomb["telepules"]."<br />";
$uzenet_torzs.= $szallit_cim_tomb["utca_haz"]."<br />".$szallit_cim_tomb["orszag_name"]."<br />";
Ezt cseréljük így:

Kód: Egész kijelölése

//Csomag
if((int)$szall_mod_tomb["id"] != 3){
$uzenet_torzs.= "<br /><br /><b>".CSOMAG_CIM."</b><br />";
if($szallit_cim_tomb["ceg_nev"] != "" && $szallit_cim_tomb["ceg_nev"] != NULL){
$uzenet_torzs.= CEG_NEVE ." ". $szallit_cim_tomb["ceg_nev"] ."<br />";
}
$uzenet_torzs.= $szallit_cim_tomb["vez_nev"]."&nbsp;".$szallit_cim_tomb["ker_nev"]."<br />".$szallit_cim_tomb["ir_szam"]."
<br />".$szallit_cim_tomb["telepules"]."<br />";
$uzenet_torzs.= $szallit_cim_tomb["utca_haz"]."<br />".$szallit_cim_tomb["orszag_name"]."<br />";
}
Gyakorlatilag körül vettük egy if-el amiben megadtuk, hogy ha a szállítási mód a hármas azonosítóval rendelkezik akkor nem kérjük a levélhez hozzáadni ezt a csomag cím részt.

Gondolhatnánk, hogy akkor ennyi lenne, de nem! A lekérdezésben alapból nincs benne a szállítási id kiolvasása, ezért erről még gondoskodnunk kell.
Shop/include/center/megrendeles/sikeres.php-ben van egy ilyen rész, nálam 34. sortól:

Kód: Egész kijelölése

//Szállítási mód
$sql = "SELECT sfl.leiras, sf.ara, sf.ingyenes, sfl.neve
FROM ". SZALLITASI_FORMAK_LEIR_TABLE ." as sfl, ". SZALLITASI_FORMAK_TABLE ." as sf  
WHERE sfl.forma_id = sf.id 
AND nyelv_id = ". tep_db_input((int)$nyelv_id) ." 
AND forma_id =". tep_db_input((int)$_SESSION["post"]["szallitas_id"]);
$szall_mod = mysql_query2(__LINE__, __FILE__, $sql);

$szall_mod_tomb = mysql_fetch_assoc($szall_mod);
Cseréljük így:

Kód: Egész kijelölése

//Szállítási mód
$sql = "SELECT sfl.leiras, sf.ara, sf.ingyenes, sfl.neve, sf.id
FROM ". SZALLITASI_FORMAK_LEIR_TABLE ." as sfl, ". SZALLITASI_FORMAK_TABLE ." as sf  
WHERE sfl.forma_id = sf.id 
AND nyelv_id = ". tep_db_input((int)$nyelv_id) ." 
AND forma_id =". tep_db_input((int)$_SESSION["post"]["szallitas_id"]);
$szall_mod = mysql_query2(__LINE__, __FILE__, $sql);

$szall_mod_tomb = mysql_fetch_assoc($szall_mod);
Elvileg jó is van. ;)

droga
Hozzászólások: 23
Csatlakozott: kedd jún. 23, 2009 9:45 am
Kapcsolat:

Re: E-mail

Hozzászólás Szerző: droga »

Köszi.
Nálam 4-es volt az a szám :) , de nem volt nehéz átírni a 3-ast 4-esre :D
Szóval mégegyszer köszi.

Avatar
mezofi
Site Admin
Hozzászólások: 933
Csatlakozott: csüt. okt. 16, 2008 7:30 am
Kapcsolat:

Re: E-mail

Hozzászólás Szerző: mezofi »

Nincs mit.
Mezőfi

meke
Hozzászólások: 17
Csatlakozott: csüt. jan. 13, 2011 1:45 pm
Kapcsolat:

Re: E-mail

Hozzászólás Szerző: meke »

Tiszteletem!
Novemberi hozzászólásnál láttam, hogy másnak is gondot okoz a freewebes levél küldés. Nekem is.
A szolgáltató ezt az egyszerű (de számomra nem logikus) leírást adja összesen:
E-mail küldés
PHP script segítségével lehetőség van e-mail-ek küldésére (24 órán belül max 50 db), melyet a következő képpen tudsz megtenni:

$akinekkuldom = "mesi@nekikuldom.hu";
// a levél címzettjének email címe
$tartalom = "Szia Mesi...";
// levél tartalma
$cim = "Holnap...?";
// levél címe
mail($akinekkuldom, $cim, $tartalom);
// levél elküldése

Vagyis csak ez a megoldás létezhet? Csak txt-s levelet lehet küldeni? A shopban melyik paramétert kell esetleg módosítani?
A segítséget előre is köszönöm!
Meke

meke
Hozzászólások: 17
Csatlakozott: csüt. jan. 13, 2011 1:45 pm
Kapcsolat:

Re2: E-mail

Hozzászólás Szerző: meke »

Bocsánat még 1kis adalék:
A mail funkció nem meghatározott, üzenetet kapom a rendelés befejezését követően: Could not instantiate mail function.
"txt"-s re van állítva a mail küldés formátuma.
Az admin oldalról küldött levél esetében természetesen azt írja hogy a levél sikeresen továbbításra került, de a címzett nem kapja meg.

meke
Hozzászólások: 17
Csatlakozott: csüt. jan. 13, 2011 1:45 pm
Kapcsolat:

Re: E-mail

Hozzászólás Szerző: meke »

Bocsánat az elhamarkodott hozzászólásokért, de sikerült megoldanom a problémát, igaz részben.
A formátumot html-re, a küldéshez a mail-t kellett beállítani.
Szóval az email elküldésre kerül, ellenben kapok a képernyőre egy ilyen hibaüzenetet:
UPDATE boltom_rend SET email_allapot = 1, visszatartva = 'n' WHERE id =
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Fájl: /storages/storage1/m/mc/mca/public_html/admin/include/vasarloi_szint/rendeles_elkuldese.php sor: 423

Ezt hogyan lehetne eltüntetni?

Avatar
mezofi
Site Admin
Hozzászólások: 933
Csatlakozott: csüt. okt. 16, 2008 7:30 am
Kapcsolat:

Re: E-mail

Hozzászólás Szerző: mezofi »

Akkor ezt már könnyen orvosoljuk.
shop/admin/include/vasarloi_szint/rendeles_elkuldese.php 423. sor ez legyen.

Kód: Egész kijelölése

$sql = "UPDATE ". REND_TABLE ." SET email_allapot = 1, visszatartva = 'n' WHERE id = ". tep_db_input($_GET["inf_id"]);
Most $_POST["inf_id"], van helytelenül.

Mezőfi

nm954
Hozzászólások: 4
Csatlakozott: pén. nov. 19, 2010 9:41 am
Kapcsolat:

Re: E-mail

Hozzászólás Szerző: nm954 »

Kedves István!
Hasonló a problémám, mint az előző hozzászólónak.
Nálam a shop/admin/include/vasarloi_szint/rendeles_elkuldese.php 423. sor így néz ki:

$sql = "UPDATE ". REND_TABLE ." SET email_allapot = 1, visszatartva = 'n' WHERE id = ". tep_db_input($_POST["megrend_azon"]);

A POST, GET, "megrend_azon", "inf_id" különböző variációiban ezt a hibát kapom:
UPDATE boltom_rend SET email_allapot = 1, visszatartva = 'n' WHERE id = ....stb,
de a vevő megkapja a megrendelést.

Ha így módosítom:
... tep_db_input($_GET["inf_id"]); ...
a vevő és a bolt is megkapja a megrendelést. Ez a helyes működés?
Üdvözlettel: Nagy Mihály

Avatar
mezofi
Site Admin
Hozzászólások: 933
Csatlakozott: csüt. okt. 16, 2008 7:30 am
Kapcsolat:

Re: E-mail

Hozzászólás Szerző: mezofi »

Szia!
Ez lenne a helyes sor:

Kód: Egész kijelölése

$sql = "UPDATE ". REND_TABLE ." SET email_allapot = 1, visszatartva = 'n' WHERE id = ". tep_db_input($_GET["inf_id"]);
Így hiba nélkül kell elküldenie, mindkét fél részére.
Mezőfi

Post Reply

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 64 vendég