CCK mező a template.php-ból

Geva képe

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)

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
Fórum: 
jabba306 képe

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!

0
0
Geva képe

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

$prszallhat = $product->field_szallhatarido[0]['value'];
$product_table .= '<div class="szallhatarido">' . '<span class="label">' . t('Lead time') . '</span> <br>' . $prszallhat . '</div>';

- 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

1
0
aboros képe

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.

1
0

-
clear: both;

jabba306 képe

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!

0
0
Geva képe

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

0
0
Geva képe

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

0
0
jabba306 képe

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.

if (count($catalog->products)) {
    if (count($links)) {
      $output .= theme('links', $links, array('class' => 'links inline uc-categories')) ."<br />\n";
    }
    $output .= $catalog->description;
    $output .= theme('uc_catalog_products', $catalog->products);
    $output .= theme('pager');
  }
  else {
    // Display table of child categories similar to an osCommerce site's front page. 

Vagyis az else ága. Nekem az if ágat kellene átírnom, csak egyelőre még nem látom, hogy hogyan.

0
0
jabba306 képe

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

  $columns['garancia'] = array(
        'weight' => 2,
        'cell' => array('data' => t('warranty'), 'nowrap' => 'nowrap'),
      );
részletet kellett beleírnom a megfelelő helyre (list_price elé)

A táblázat módosításához az utóbbi fgv-t kellett átírni:

    $data['garancia'] = array('#value' => $node->field_garancia[0]['value'], '#cell_attributes' => array('width' => '100%'),
    );
szintén a list_price elé.

Egyetlen bajom a megoldással, hogy a frissítésnél elvész a módosítás, erre figyelni kell.

0
0
aboros képe

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...

0
0

-
clear: both;

bmazsi képe

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.

0
0