GYIK kategória bejegyzései

Gyakran ismételt kérdések

Egy jellemző nyelvkezelési hiba és elhárítása

Admin vagy shop oldal csak az url-ben tér el

Warning: require(includes/languages/.php): failed to open stream: No such file or directory in C:\www\admin\includes\application_top.php on line 167

A hiba egyik oka, hogy a böngészőnk nincs felkészülve az áruház nyelvére, azaz alapértelmezetten más nyelvű. Komplett sablon vásárlásakor előfordul, hogy angol nyelven szeretne értekezni velünk a rendszer, de nekünk magyar böngészőnk van. Ekkor vetjük be a titkos kódunkat a probléma áthidalására:
&language=en, amit egyszerűen a böngésző sorába illesztünk az url végére.
A másik oka, ha amunkamenetben üres a language a változó értéke.

A hiba rövid ismertetése
A language osztály, ha nem talál alapértelmezett böngésző nyelvet, akkor a fenti hibára fut. Ha nincs bekapcsolva a display error, akkor egy üres oldalt kapunk (blank page). A hiba azért kellemetlen, mert, ha idegen nyelvű böngészőt használunk, de nincs telepítve az idegen nyelv az áruház nyelvkészletei közé, akkor ezt a hibát kapjuk.

A legegyszerűbb megoldás, ha frissítjük a rendszerünket v.2.3.3 verzió fölé.
A hiba a session kezelés javításában oldódott meg.

ÁFA illetve adók beállítása

Az ÁFA beállítása mindíg problémát okoz, ezért érdemes egy kicsit körbejárni az adó számítás módszertanát. Alapból az oscommerce úgynevezett halmozó adószámítást végez adócsoportonként. Egy adócsoportba több adókulcs is tartozhat. Ha csak áfa kulcsot használunk, akkor adócsoportonként egy áfa kulcs a leginkább használható megoldás. ÁFA illetve adók beállítása bővebben…

Termék hibamonitor

Termék hibamonitor

Az adatfelvétel során előfordulhat, hogy hiányos adatokkal próbáljuk megjeleníteni a terméket. Elfelejtünk képet, adókulcsot, árat vagy súlyt hozzárendelni a termékhez. A termék hibamonitor ezen a problémán segít. Csak azokat a termékeket listázza, melyek hibával rendelkeznek. A listában módunk van adatot javítani vagy terméket törölni.

Mit figyel a modul?

Csak azok a termékek kerülnek kiválogatása, amelyeknek

  • nincs termékképe
  • vagy alacsony a termék ára
  • vagy nincs adókulcsa
  • esetleg nincs tömege
  • nincs státuszban

Működés

A leválogatási eljárás nincs tekintettel a megjelenítési állapotra, azaz minden terméket átvizsgál az adatbázisban, ami támpontot adhat a kikapcsolt termékek szerkesztéséhez is.

A lista csak termékeket tartalmaz, azaz nem csoportosít termékváltozatra, így minden fontos terméknév információ megjelenik. A termékek közvetlenül linkelve vannak a termékszerkesztő oldalra.

Termék hibamonitor

Nagy számú termékhalmaznál igencsak hasznos lehet ez a funkció, mivel a vásárlói oldalon teljesen reménytelen lenne az ilyen adatok felkutatása.

Örülök, hogy ennyire felkapott lett néhány napon belül a modul. G Burton sebtében már adaptálta is a vázát a 2.x rendszerre. Az modul nagyon könnyen hekkelhető és megfelelő lekérdező klónok gyárthatóak belőle. Személy szerint viszont jobban örülnék egy kapcsolható szűrőnek.

Termék változatok kezelése

Termék változatok kezelése és működése az alap vázban

Mi a termék változat?

Egy bizonyos terméknek lehetnek színben, méretben stb. eltérő változatai. Termék leírás csak a termékhez készíthető a változatokhoz nem. Változat legalább két különböző értéket jelent. Ha jobban belegondolunk csak olyan változatcsoport képzésnek van értelme, aminek legalább 2 eleme van, egyébként nem változatról, hanem a terméknévben elhelyezendő szóról beszélünk.

Hogyan alakítsuk ki a termék változatainkat?

Vegyük számba a termékeink változatosságát és címkézzük meg a változat csoportokat.

Pl: Szín csoport.

A szín csoport elemei: fekete, fehér, stb..

Javaslom, hogy használjunk üres színcsoport elemet is, ami a változat csoport üres értékét jelenti. Pl: a szín csoportban hozzunk létre egy üres cimkét, aminek nincs illetve „” az értéke. A változatok között ez hiányos, vagy nem lényeges megjelölést jelent, ha hozzárendelnénk a termékhez.

Termékváltozatok megjelenítése

A termék változataink alap vázban csak legördülő lista elemekben mutatkozik meg, illetve rendelés esetén a rendszer konkrét terméknévvé olvasztja össze, ami emailben és az adminisztrációs felületeken (admin, checkout) jelenik csak meg.

Termék listákban csak a szülő termék neve jelenik meg, a változatok soha. Éppen emiatt a szülő adatait láthatjuk a terméklistákban (készlet, ár).

Elérhető bővítmény kiegészítés

Hogyan vásárolhatunk termék változatot?

A termék info lapon a termékváltozatok legördülő listákban, úgynevezett „combo box”-ból (ejtsd: kombó boksz) válogathatóak össze. Az információs lap tájékoztat arról, hogy az adott kombináció vásárolható, azaz létező termékváltozat párosítás vagy sem. Az egy cimkés termékváltozatok nem működnek megfelellően, azaz, ha mondjuk csak fehér Szín cimkénk van de több más ismérvel rendelkező (méret) termékváltozatunk is, akkor lesz szerepe az üres „” cimkének, amelyet minden változathoz rendeljünk hozzá, ami nem fehér.

Termék változatok vásárlása

Termék változat a kosárban

A bevásárló kosárban igen könnyen beazonosítható, milyen változatot vásárolunk.

Termék változatok a kosárban

Termékváltozatok akciós ára

Az alap váz nem képes rá. Használjuk a Variants Magic rendszert vagy a variants specials bővítményt, amit az oscom.hu térítés ellenében szolgáltat.

Kapcsolat: Elérhető bővítmény kiegészítés

Termék változat a rendelések között

A vásárló megtekintheti a rendelések között is a változatot, amit az emailben is így fog látni.

Termék változatok a rendelések között

Munkamenet – Session idő

A munkamenet vagy más néven Session ideje

Gyakori probléma, hogy az áruház alapbeállítása szerinti lejárati idő túl rövid és a munkamenetet megszakítja egy új beléptetés. A probléma súlyossága néha bosszantó, mivel termékváltozat felvétele közben – ami gyakran hosszabb ideig is eltart – adatvesztéssel járhat és kezdhetjük elölről az adatrögzítést.

Mit tehetünk ellene?

 

 

A munkamenet sajátossága

A session azért van, hogy az adatbevitelt feltételek közé szorítsuk. A biztonság megköveteli, hogy csak azok vihessenek be adatot, akiket a szerver oldalról munkamenetben azonosítottunk. Az össze-vissza feltűnő robotok és felhasználók rendesen megnehezítik a szerver dolgát, hogy kinek milyen jogosultsága is van az oldal hozzáférésekkel kapcsolatban. Éppen ezért egy munkamenet azonosítóval látja el a felhasználót az áruház, aminek lejárati ideje van.

Lejárati idő

A munkamenet időkorlátos, illetve mi határozhatjuk meg, hogy mennyi is legyen. Három alapeset van.

  1. Használjuk az alapbeállítást. Ez a leggyorsabb működést eredményezi, de nagyobb adatfelvételt nem végezhetünk biztonságosan
  2. Kikapcsoljuk a session futást, azaz a böngésző bezárásáig éltetjük munkamenetünket. Ez a létező leglassabb, de legmegbízhatóbb adatfelvételt eredményezi. Hátránya, hogy globális beállítás, ami az összes megnyitott munkamenetre érvényes lesz, így ha sok vásárló van az áruházban igencsak leterheli az SQL szervert, mert a session adatbázisban van tárolva. Tudnunk kell, hogy minden oldal váltás automatikusan a session adatok lekérdezésével is együtt jár. Használjuk inkább a sesssion fájlból opciót.
  3. Arany középút, amikor megpróbáljuk azt az értéket eltalálni, ami sebességre és biztonságra is a legmegfelelőbb.

A kalkuláció

Amennyiben nulla (0) vagy kisebb értéket (-1) választunk, akkor a szerver SESSION beállításokban a gc_maxlifetime értéke lesz a számítás alapja. Normál esetben 1800-14400 másodperc közé esik. Az értéket a PHP INFO oldalon kereshetjük ki.

Ha konkrét értéket adunk meg az áruház session beállításokban, akkor viszont percekben gondolkodjunk.

Változások érvénybe lépése

Ügyeljünk arra, hogy a böngésző indításával kezdődik a felhasználó azonosítása. Hiába változtatjuk a session idejét nem tapasztalunk változást, akkor indítsuk újra a böngészőt.

 

Cookie – sütik

Egy másik módszer a sütik létrehozása a felhasználói oldalon. A session adatok a sütikbe vándorolnak és nem terhelik a szervert, hanem a felhasználók böngészői szolgáltatják az azonosításhoz szükséges információkat.

A módszerről tudnunk kell, hogy a felhasználó böngészőjében engedélyezettnek kell lennie a süti használatának.

 

Session ID – munkamenet azonosító

A munkamenet kiosztása egy rag szám (session ID) munkamenet azonosítóval történik.

 

User Agent

Felhasználó tájékoztató, amely tartalmazza böngésző motorját, operációs rendszerét és nyelvét.

Vásárlók és rendelések X kezelője

Vásárlók és Rendelések X kezelője 1.2

X kezelő

A bővítmény továbbgondolása az eredeti vásárlói és rendelések moduloknak. Cél, hogy a jövőben egy összevont rendelés kezelővé váljon. Köszönet az osCommerce váz fejlesztőknek.

Szerző: Tgely
Oscom pont hu, HOST(csak magyar)
Angol nyelvű fórum

Funkciók

  • Levélküldés a vásárlói adatok változtatásakor.
    Az adminisztráció call centeren keresztül vagy direkt módon tud regisztrációt végrehajtani
  • A vásárlók listában többféleképpen is kereshetünk
  • Még több információ a készlet adatokról
  • Az adminisztráció képes lesz a rendelés módosítására
  • A jövőben a vásárlók szokásairól is tudomást szerezhetünk

Tervek

Az új OSCOM V3 verzió megjelenésével várható, hogy installból kezeljük az adatbázis frissítést is.

Lásd funkciók

Történet

  • V1.2
    • Új telepítési útmutató (install_hu.html)
    • Új Email sortörés kezelés
    • Az eredeti order.php osztály adaptálása orderx.php néven
    • Az értesítő emailekbe az áruház belépési linkjeinek beillesztése
    • Az eredeti rendelési modulból hiányzó ikon cimkék létrehozása és új ikonok bevezetése
      Szállítási ikon Szállítási mód és azonnal szállítható termék
      Készlethiány ikon kifogyott készlet
    • Az összegző oldalra a szállítási mód is felkerült
    • Termékkép a rendelt terékek listájában
    • A vásárlói lista navigációjának javítása
    • Az összegző adminisztrációs oldalról is elérhetők lettek az X kezelő oldalai
  • V1.1 – 2010.08.21
    • X rendelések oldal
    • email sortörés bevezetése
  • V1.0 – 2010.08.20
    • Customers X handler – Vásárlók X kezelője megjelenése

V3alfa5 telepítési útmutató

1. lépés

Másoljuk be a csomag catalog mappa tartalmát a V3alfa5 telepítésünkbe.

Kritikus V3alfa5 váz módosítások

2. lépés

OSCOM Admin email sortörő

Amikor az adminisztráció levelet küldött a vásárlónak, akkor a váz hibája miatt az emailek nem tartalmaztak sortörést.
A hiba kiküszöbölésére kihasználjuk az OSCOM rendszer névkezelési szabályait.
A levélküldés változói „email_” névvel kezdődnek, ami remekül kihasználható az azonosításra
A sortörő eljárás hozzáad egy „n” LF operátort minden egyes új sor végéhez.

Keresd meg catalog/admin/includes/classes/language.php

Javítsd:

{codecitation style=”brush: php; first-line: 56;”}
//
if ( $delimiter !== false ) {
$key = trim(substr($line, 0, $delimiter));
$value = trim(substr($line, $delimiter + 1));
$ini_array[$key] = $value;
} elseif ( isset($key) ) {
$ini_array[$key] .= trim($line);
}
{/codecitation}

Erre:

{codecitation syte=”brush: php; first-line: 56;”}
//
if ( $delimiter !== false ) {
$key = trim(substr($line, 0, $delimiter));
$value = trim(substr($line, $delimiter + 1));
$ini_array[$key] = $value;
if ( substr($key, 0, 6 ) == ’email_’ ) { //admin email text LF slicer
$ini_array[$key] .= „n”; // slice first row
}
} elseif ( isset($key) ) {
$ini_array[$key] .= trim($line);
if ( substr($key, 0, 6 ) == ’email_’ ) { //admin email text LF slicer
$ini_array[$key] .= „n”; // slice more rows
}
}
{/codecitation}

3. lépés

Javítsd a catalog/admin/includes/languages/hu_HU.php illetve a többi fő nyelvi fájlt.
Megjegyzés: a gomb szövege előre definiált lehet a hivatkozott nyelvi catalog/admin/includes/languages/hu_HU/customersx.php fájlban is.

Szúrd be:
button_go = Válaszd

A következő lésések ajánlottak, de a rendelések váz is figyelmeztet a hiányára.

4. lépés

Javítsuk az adattáblánk

{codecitation syle=”brush: sql;”}
ALTER TABLE `osc_orders_status_history` ADD `comments_notified` INT NOT NULL ;
{/codecitation}

Megjegyzés: nézz utánna az adattáblák előtagjának, mivel azt a telepítéskor kellett megadni, ami nem feltétlenül ‘osc_’

5. lépés

Javítsd a catalog/includes/classes/order.php fájlt

Keresd meg ezt:

{codecitation style=”brush: php; first-line: 522;”}
//
$Qstatus = $osC_Database->query(‘select os.orders_status_name, osh.date_added, osh.comments from :table_orders_status os, :table_orders_status_history osh where osh.orders_id = :orders_id and osh.orders_status_id = os.orders_status_id and os.language_id = :language_id order by osh.date_added’);
$Qstatus->bindTable(‘:table_orders_status’, TABLE_ORDERS_STATUS);
$Qstatus->bindTable(‘:table_orders_status_history’, TABLE_ORDERS_STATUS_HISTORY);
$Qstatus->bindInt(‘:orders_id’, $id);
$Qstatus->bindInt(‘:language_id’, $osC_Language->getID());
{/codecitation}

Cseréld erre:

{codecitation style=”brush: php; first-line: 522;”}
//
$Qstatus = $osC_Database->query(‘select os.orders_status_name, osh.date_added, if(osh.comments_notified = :comments_notified, osh.comments, „”) as comments from :table_orders_status os, :table_orders_status_history osh where osh.orders_id = :orders_id and osh.customer_notified = :customer_notified and osh.orders_status_id = os.orders_status_id and os.language_id = :language_id order by osh.date_added’);
$Qstatus->bindTable(‘:table_orders_status’, TABLE_ORDERS_STATUS);
$Qstatus->bindTable(‘:table_orders_status_history’, TABLE_ORDERS_STATUS_HISTORY);
$Qstatus->bindInt(‘:orders_id’, $id);
$Qstatus->bindInt(‘:language_id’, $osC_Language->getID());
$Qstatus->bindInt(‘:customer_notified’, 1);
$Qstatus->bindInt(‘:comments_notified’, 1);
{/codecitation}

Vásárlók keresési tippek

Kereshetünk regisztráció dátuma szerint: 2010-08-12 de ne használjuk ezt a formátumot 2010/08/12
Általánosan elmondható, hogy használhatóak a „helyettesítő” karakterek %? is.
Dátum szűrési feltételek:
2010
2007-10-%
2007-%
2007-%-10

Ennyi az egész! 😉

Alapértelmezett ország regisztrációkor

Alapértelmezett ország a regisztráció folyamatában

 

Amikor V3 rendszerben a vevő regisztrál, akkor a belépési zóna szerinti ország lesz az alapértelmezett?

 

 

Nem. Az alapértelmezett ország, az áruház beállítása szerinti alapértelmezett országként fog megjelenni. Ha a webshopunkat „Hungary” Magyarországon üzemeltetjük, akkor vélhetően ezt is állítjuk be, amely megadja az alapértelmezett országot a regisztrációban.

Megírásra érdemes lenne egy olyan funkció, amely mondjuk az email cím, vagy a látogatási hely szerint számítja az alapértelmezett országot, hiszen a vásárlók szállítási és tartózkodási címe eltérhet Magyarországtól.