Tartalmak hozzáfűzése a Profilhoz

yasztibike képe

Sziasztok!

Segítségre lenne szükségem. Azt szeretném elérni, hogy az oldalamra regisztrált tagok ha küldenek be egy bizonyos tartalomtípust, akkor azt kitudjam listázni a profiljukban.

Hogy érthetőbb legyen képet mellékelek:
http://kepfeltoltes.hu/100717/tartprof_www.kepfeltoltes.hu_.png

Érdeklődnék, hogy erre van-e esetleg valamilyen modul vagy nekem kell belenyúlni?

Én olyasmire gondoltam, ha esetleg nincs modul, hogy a views modullal kilistázom és valahogy hozzáfűzöm a profilhoz. Csak ennek a megvalósítása is még kétséges.

Nagyon szépen köszönöm, ha valaki válaszol. :)

Üdvözlettel:
yété

Drupal verzió: 
Fórum: 
fgabor képe

Csinálsz egy megfelelő view-t megfelelő argumentummal. Utána panel modul része a page manager. Ott tudsz csinálni egy panel template-t a user page-eknek. A különböző panel régiókba el tudod helyezni amiket akarsz, pl az elkészített nézetet is.

Volt ilyesmiről egy video drupal találkozón, aboros előadásában. Abból sztem simán meg tudod csinálni, igaz ott galériakészítés volt ha jól emlékszem, de a page manager lényege benne van.

Előnye hogy nem kell kódolni.

üdv

0
0
yasztibike képe

Köszönöm szépen a választ! :) Figyelmesebb lehettem volna. Megpróbálkozom vele, ha esetleg nem jönne össze írok.

Köszönöm!

Üdv!

0
0
aboros képe

vagy page manager. ha csak a profiloldalba akarsz rakni egy blokkot, a profil alá vagy mellé valamelyik oldalsávba, akkor egyszerűen csinálsz egy nézetet, ami egy blokkot jelenít meg. egy argumentumot használ, user: uid, provide default argument, user id from url.

hogy ne kelljen sokat gépelni, itt egy ilyen nézet. beimportálod, létre fog hozni egy "felhasználó tartalmai" blokkot, azt beteszed mondjuk a content régióba és kész vagy. kedvedre módosítgatod, amíg az argumenthez nem nyúlsz működni fog. ;)

tadaaa:

$view = new view;
$view->name = 'user_content';
$view->description = 'Felhasználó tartalmait jeleníti meg a profil oldalon.';
$view->tag = '';
$view->view_php = '';
$view->base_table = 'node';
$view->is_cacheable = FALSE;
$view->api_version = 2;
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
$handler = $view->new_display('default', 'Defaults', 'default');
$handler->override_option('fields', array(
  'created' => array(
    'label' => '',
    'alter' => array(
      'alter_text' => 0,
      'text' => '',
      'make_link' => 0,
      'path' => '',
      'link_class' => '',
      'alt' => '',
      'prefix' => '',
      'suffix' => '',
      'target' => '',
      'help' => '',
      'trim' => 0,
      'max_length' => '',
      'word_boundary' => 1,
      'ellipsis' => 1,
      'html' => 0,
      'strip_tags' => 0,
    ),
    'empty' => '',
    'hide_empty' => 0,
    'empty_zero' => 0,
    'date_format' => 'time ago',
    'custom_date_format' => '',
    'exclude' => 0,
    'id' => 'created',
    'table' => 'node',
    'field' => 'created',
    'relationship' => 'none',
  ),
  'title' => array(
    'label' => '',
    'alter' => array(
      'alter_text' => 0,
      'text' => '',
      'make_link' => 0,
      'path' => '',
      'link_class' => '',
      'alt' => '',
      'prefix' => '',
      'suffix' => '',
      'target' => '',
      'help' => '',
      'trim' => 0,
      'max_length' => '',
      'word_boundary' => 1,
      'ellipsis' => 1,
      'html' => 0,
      'strip_tags' => 0,
    ),
    'empty' => '',
    'hide_empty' => 0,
    'empty_zero' => 0,
    'link_to_node' => 1,
    'exclude' => 0,
    'id' => 'title',
    'table' => 'node',
    'field' => 'title',
    'relationship' => 'none',
  ),
  'type' => array(
    'label' => '',
    'alter' => array(
      'alter_text' => 0,
      'text' => '',
      'make_link' => 0,
      'path' => '',
      'link_class' => '',
      'alt' => '',
      'prefix' => '',
      'suffix' => '',
      'target' => '',
      'help' => '',
      'trim' => 0,
      'max_length' => '',
      'word_boundary' => 1,
      'ellipsis' => 1,
      'html' => 0,
      'strip_tags' => 0,
    ),
    'empty' => '',
    'hide_empty' => 0,
    'empty_zero' => 0,
    'link_to_node' => 0,
    'machine_name' => 0,
    'exclude' => 1,
    'id' => 'type',
    'table' => 'node',
    'field' => 'type',
    'relationship' => 'none',
  ),
));
$handler->override_option('sorts', array(
  'created' => array(
    'order' => 'DESC',
    'granularity' => 'second',
    'id' => 'created',
    'table' => 'node',
    'field' => 'created',
    'relationship' => 'none',
  ),
));
$handler->override_option('arguments', array(
  'uid' => array(
    'default_action' => 'default',
    'style_plugin' => 'default_summary',
    'style_options' => array(),
    'wildcard' => 'all',
    'wildcard_substitution' => 'All',
    'title' => '%1 tartalmai',
    'breadcrumb' => '',
    'default_argument_type' => 'user',
    'default_argument' => '',
    'validate_type' => 'none',
    'validate_fail' => 'not found',
    'break_phrase' => 0,
    'not' => 0,
    'id' => 'uid',
    'table' => 'users',
    'field' => 'uid',
    'validate_user_argument_type' => 'uid',
    'validate_user_roles' => array(
      '2' => 0,
    ),
    'relationship' => 'none',
    'default_options_div_prefix' => '',
    'default_argument_fixed' => '',
    'default_argument_user' => 0,
    'default_argument_php' => '',
    'validate_argument_node_type' => array(
      'page' => 0,
      'story' => 0,
    ),
    'validate_argument_node_access' => 0,
    'validate_argument_nid_type' => 'nid',
    'validate_argument_vocabulary' => array(
      '1' => 0,
    ),
    'validate_argument_type' => 'tid',
    'validate_argument_transform' => 0,
    'validate_user_restrict_roles' => 0,
    'validate_argument_php' => '',
    'override' => array(
      'button' => 'Override',
    ),
  ),
));
$handler->override_option('filters', array(
  'status' => array(
    'operator' => '=',
    'value' => '1',
    'group' => '0',
    'exposed' => FALSE,
    'expose' => array(
      'operator' => FALSE,
      'label' => '',
    ),
    'id' => 'status',
    'table' => 'node',
    'field' => 'status',
    'relationship' => 'none',
  ),
));
$handler->override_option('access', array(
  'type' => 'none',
));
$handler->override_option('cache', array(
  'type' => 'none',
));
$handler->override_option('style_plugin', 'list');
$handler->override_option('style_options', array(
  'grouping' => 'type',
  'type' => 'ul',
));
$handler->override_option('row_options', array(
  'inline' => array(),
  'separator' => '',
  'hide_empty' => 0,
));
$handler = $view->new_display('block', 'Block', 'block_1');
$handler->override_option('block_description', 'Felhasználó tartalmai');
$handler->override_option('block_caching', -1);

ahhoz hogy a page managert ajánljam, sokkal szaftosabb helyzet kéne, mondjuk aszerint, hogy a user éppen milyen role, tök más kiosztású és tartalmú profiloldalt akarsz mutatni. de önmagában talán még ez is kevés lenne, hogy a nem kicsit nehézsúlyú panels ctools page manager kombinációt kelljen bevetni, hiszen akár az előfeldolgozóban is adhatok másik "template suggestion" -t role -onként és akkor is olyan kiosztást csinálok amilyet akarok, csak hát azt .tpl.php -ba kell majd variálni ugye, nem "klikk-klikk-kész". még azt tenném hozzá, hogy ha sose láttál belülről panelst, akkor page managerrel se lesz "klikk-klikk-kész" :) hanem klikk-klikk-mérnem?! klikk-klikk-hátmegőrülökmérnem?! és ez még sokáig, aztán egyszercsak jó lesz. :)

keep it simple. azt mondják a nagyok. elég jó tanács.

0
0

-
clear: both;

yasztibike képe

Akkor ha jól értem, akkor ez a nézet csak a profil oldalon jelenik meg? :) Köszi a segítséget!

0
0
aboros képe

akkor jelenik meg a blokk, ha érvényes user id van argumentumként jelen. a biztos az, ha beállítod a blokk beállításoknál, hogy csak a megfelelő útvonalon jelenjen meg. mondjuk alapesetben a profilok ugye user/% útvonalon vannak, például user/42. akkor megadod a blokkodnak, hogy csak user/* útvonalon jelenjen meg és akkor biztos csak ott fog.

vagy nem értem mi a kérdés :)

0
0

-
clear: both;

yasztibike képe

Mostanában nem nagyon voltam gép előtt, azért nem válaszoltam még... Nagyon szépen köszönöm! Úgy néz ki működik.. :)

0
0