Ubercart, node_reference ,taxonomy

sanyatuning képe

Sziasztok

Egy webshopon dolgozok, ami úgy épül fel, hogy vannak termék leírások, ezek sima node-ok, és vannak rájuk hivatkozó product-ok, amik egy node reference mezővel hivatkoznak az előbbiekre.
A termék leírás oldalakra meg tudtam csinálni, hogy kilistázza a product-okat, de most azt szeretném, hogy a taxonomy nézetben, amikor a termék leírások vannak egymás alatt, minden leíráshoz jelenjen meg a legolcsóbb hozzá kapcsolt termék ára.

És ez nem sikerült... eddig :)
Valami ötlet?

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
sanyatuning képe

Valami olyan kellene hogy a nézet sorai ne csak a leírás mezőit tartalmazzák hanem valahogy legyenek összekombinálva a hozzá tartozó product-al és annak a mezői is elérhetők legyenek az adott sorban

0
0
sanyatuning képe

végül is sikerült
találtam egy hurkot a views-ban amivel be tudtam állítani a sql lekérdezésben JOIN-okat

az eredi lekérdezésben a uc_products tábla rögtön a node táblához volt csatolva, de nekem van közte egy node_reference mező ami field_data_field_alk_leiras táblában van.

egykis kód :)

/**
 *
 * @param view $view
 * @param views_plugin_query_default $query
 */
function addfield_views_query_alter(&$view, &$query) {
  if ($view->name == 'taxonomy_term'
          && $view->current_display == 'block_2') {
    $join1 = new views_join();
    $join1->construct(
            'field_data_field_alk_leiras',
            'node',
            'nid',
            'field_alk_leiras_nid'
    );
 
    if (!$query->add_table(
                    'field_data_field_alk_leiras',
                    'node',
                    $join1,
                    'field_data_field_alk_leiras')) {
      dpm('adding table field_data_field_alk_leiras was failure');
    }
 
    $join2 = new views_join();
    $join2->construct(
            'uc_products',
            'field_data_field_alk_leiras',
            'revision_id',
            'vid'
    );
    if (!$query->add_relationship(
                    'uc_products',
                    $join2,
                    'field_data_field_alk_leiras')) {
      dpm('adding table uc_products was failure');
    }
 
    /*
     * reorder tables
     */
    $uc_products = $query->table_queue['uc_products'];
    unset($query->table_queue['uc_products']);
    $query->table_queue['uc_products'] = $uc_products;
  }
}
0
0