Ubercart katalógus nézetében megjelenő termékekhez szeretnék megjeleníteni CCK mezőt (text típusú) - címke + tartalom -, ehhez kérek segítséget:
a template.php-ben alkalmazott függvény (reklam2010geva - egyedi-, tartalmazó smink neve, field_szallhatarido a kiiratandó CCK mező neve):
function reklam2010geva_uc_catalog_product_grid($products) { ... $product_table .= '<div class="szallhat">' . $product->field_szallhatarido[0]['value'] . '</div>' .... }
a kiírt sor a foreach cikluson belül van, a cck mező értéke megjelenik, ám a mező címkéje nem. A dokumentáció által javasolt ...[view] nem ad vissza semmit :-(
A node-product.tpl.php fájlban, a $field_szallhatarido egyszerűen elérhető és teljes formázott formában tartalmazza a mezőt címkével együtt, működik a content-field-field_szallhatarido.tpl.php templét is, ám a catalog-grid és catalog-browse részekhez csak függvény van :-)
... segítenétek? hogyan tudom a termék CCK mezőjét megjeleníteni a catalog-grid-ben, a template.php függvényéből? vagy készítsek uc-catalog-product-grid.tpl.php fájlt? ... total belegabolyodtam :-)
köszönöm
(a függvény: http://api.ubercart.org/api/function/theme_uc_catalog_product_grid/2)
Ugyanez a problémám
Sziasztok!
Nekem ugyanez a problémám annyi különbséggel, hogy bármit változtatok, semmi se történik.
Az említett fgv-t megtaláltam, bemásoltam a template.php-be a fgv nevében a theme-t átírtam a saját sablonom nevére, beillesztettem a kódot (ugyanúgy cck mező értékét szeretném kiírni), de nem történt semmi változás a katalógusban.
Olyan, mintha nem is venné figyelembe, hogy változott valami.
Meg tudnátok világítani a dolgot, hogy milyen lépéseket kell tennem, hogy át tudjam sminkelni az uc_katalógust?
Köszönöm!
mező címkéje stringként beírva :-)
a foreach cikluson belül - minden terméknél - a
$product->field_szallhatarido[0]['value'];
a cck mező tartalmát, értékét adja tutira,
a címkét nem sikerült elővarázsolnom :-), ezért aztán prózai módon hozzáfűztem a címkét, fordítható módon :-)
tehát
- a template.php fájl a sminked mappájában van? ...szívesen megnézném
- ürítetted a cache-t? template.php módosításnál is rendkívül fontos.
...más ötletem nincs rá miért is nem jelenik meg a cck meződ...
írj egy szöveget ki a katalógusba próbaként, lássuk tényleg nem jut-e érvényre a template.php-éd... valahova a ciklusba pl.: print ('Jelen vagyok');
Az általam említett szállítási határidő mező megjelenítését a katalógus oldalon itt láthatod pl:
http://www.reklameszkoz.hu/display
Geva
----- Számítások - Kalkulátorok
a ['view'] szerintem azért nem létezik, mert
a mező hiddenre van állítva a product tartalom típus megjelenítés beállításainál. a sima value természetesen nem tartalmazza a labelt. ez a módszer amúgy, hogy theme_akarmi függvényeket adnak a modulok a mostanában szokásos tplek (és preprocessek) helyett, kicsit régebbi, maradvány az übercartban.
-
clear: both;
Rájöttem, miért nem jelenik meg a CCK mező értéke
A /admin/store/settings/catalog/edit/grid oldalon van egy olyan checkbox, aminek az a neve: Display products in the catalog in a grid.
Ha ezt bepipálom, akkor megjelenik a a cck mező, azonban a katalógus kinézete is megváltozik, táblázatos megjelenés lesz.
Én az eredeti (Drupal alap) katalógust szeretném sminkelni.
Ha minden igaz, akkor a theme_uc_catalog_browse függvényt kell módosítanom.
Ha valaki sminkelte már az alap uc katalógult (cck mező értékét jeleníttette meg) és megírná hogyan tette, nagyon sokat segítene.
Köszönöm!
devel, themer developer?
ubercart katalógus csak egy van, mi az hogy 'eredeti'?
mért gondolod, hogy pont az uc_catalog_browse a módosítandó?
pontosan tudni kell ezt
... ha tényleg azt kell, akkor a függvényt az uc_catalog mappában keresd
Geva
----- Számítások - Kalkulátorok
és ha megtaláltad
másold a sminked mappájában lévő - ha nincs hozd létre - template.php fájljába, és ott módosítsd.
... ne felejtsd törölni a smink cache-t
Geva
----- Számítások - Kalkulátorok
Bocs, rosszul fogalmaztam
Nem eredeti, hanem default: "If unchecked, the default table display will be used and the settings on this form will be ignored."
Igen, a devel, themer developer modulokat nézegetem. Ezek egyértelműen a theme_uc_catalog_browse függvényt mondják.
A függvényt vizsgálom, hogy azt a részt megtaláltam (sőt át is tudom írni) ahol azoknak az alkategóriáknak az értékét jeleníti meg a Drupal, ahová nincs termék beküldve, de van gyerekkategóra.
Vagyis az else ága. Nekem az if ágat kellene átírnom, csak egyelőre még nem látom, hogy hogyan.
Sikerült
Sikerült a katalógust átformáznom úgy, ahogy én szerettem volna.
Azonban nem a fenti fgv-t, hanem a uc_product.module fájlban a uc_product_table_header() és uc_product_table() fgv-eket kellett átírnom.
Az első a fejléc. A termék garanciáját akartam megjeleníteni, ami cck mezőben van.
A fejléc módosításához
A táblázat módosításához az utóbbi fgv-t kellett átírni:
Egyetlen bajom a megoldással, hogy a frissítésnél elvész a módosítás, erre figyelni kell.
tapir "API" van az übercartban, azt kell használni
http://drupal.org/project/tapir
erre építi az übercart a táblázatait. ennek egyik előnye, hogy nem kell átírnod az uc_product_table függvényt, hanem egy saját modulban egy hook_ -al tudod módosítani.
van hook_tapir_table_alter és hook_tapir_table_header_alter függvény.
http://drupalcontrib.org/api/drupal/contributions--ubercart--docs--hooks...
http://drupalcontrib.org/api/drupal/contributions--ubercart--docs--hooks...
-
clear: both;
Hogyan sikerült megoldani
azt, hogy a cck mező (text) értéke megjelenjen (címke nélkül) a katalógusban? Pont erre lenne most szükségem és bárhogy próbálom az itt leírtakkal, nem sikerült eddig. Az alap katalógust használom.