aboros képe

véletlenül pont volt egy ilyen példa a játszóterembe :)

$view = new view;
$view->name = 'newcontent';
$view->description = 'Shows all new activity on system.';
$view->tag = 'default';
$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(
  'type' => array(
    'id' => 'type',
    'table' => 'node',
    'field' => 'type',
    'label' => 'Type',
  ),
  'title' => array(
    'id' => 'title',
    'table' => 'node',
    'field' => 'title',
    'label' => 'Title',
    'link_to_node' => TRUE,
  ),
  'name' => array(
    'id' => 'name',
    'table' => 'users',
    'field' => 'name',
    'label' => 'Author',
    'link_to_user' => TRUE,
  ),
  'comment_count' => array(
    'id' => 'comment_count',
    'table' => 'node_comment_statistics',
    'field' => 'comment_count',
    'label' => 'Replies',
    'set_precision' => FALSE,
    'precision' => 0,
    'decimal' => '.',
    'separator' => ',',
    'prefix' => '',
    'suffix' => '',
  ),
  'last_comment_timestamp' => array(
    'id' => 'last_comment_timestamp',
    'table' => 'node_comment_statistics',
    'field' => 'last_comment_timestamp',
    'label' => 'Last Post',
    'date_format' => 'small',
    'custom_date_format' => '',
  ),
  'timestamp' => array(
    'id' => 'timestamp',
    'table' => 'history_user',
    'field' => 'timestamp',
    'label' => '',
    'comments' => 1,
    'relationship' => 'none',
    'link_to_node' => 0,
    'comment' => 1,
  ),
  'new_comments' => array(
    'id' => 'new_comments',
    'table' => 'node',
    'field' => 'new_comments',
    'label' => '',
    'set_precision' => FALSE,
    'precision' => 0,
    'decimal' => '.',
    'separator' => ',',
    'prefix' => '',
    'suffix' => ' new',
    'link_to_comment' => 1,
    'no_empty' => 1,
    'relationship' => 'none',
  ),
));
$handler->override_option('sorts', array(
  'last_comment_timestamp' => array(
    'id' => 'last_comment_timestamp',
    'table' => 'node_comment_statistics',
    'field' => 'last_comment_timestamp',
    'order' => 'ASC',
    'granularity' => 'second',
  ),
));
$handler->override_option('arguments', array(
  'uid_touch' => array(
    'default_action' => 'default',
    'style_plugin' => 'default_summary',
    'style_options' => array(
      'count' => TRUE,
      'override' => FALSE,
      'items_per_page' => 25,
    ),
    'wildcard' => 'all',
    'wildcard_substitution' => 'All',
    'title' => '',
    'breadcrumb' => '',
    'default_argument_type' => 'current_user',
    'default_argument' => '',
    'validate_type' => 'none',
    'validate_fail' => 'not found',
    'id' => 'uid_touch',
    'table' => 'node',
    'field' => 'uid_touch',
    'relationship' => 'none',
    'default_argument_fixed' => '',
    'default_argument_php' => '',
    'validate_argument_node_type' => array(
      'page' => 0,
      'story' => 0,
    ),
    'validate_argument_php' => '',
    'validate_user_argument_type' => 'uid',
    'validate_user_roles' => array(
      '2' => 0,
    ),
    'default_options_div_prefix' => '',
    'default_argument_user' => 0,
    'validate_argument_node_access' => 0,
    'validate_argument_nid_type' => 'nid',
    'validate_argument_vocabulary' => array(),
    'validate_argument_type' => 'tid',
    'validate_argument_transform' => 0,
    'validate_user_restrict_roles' => 0,
  ),
));
$handler->override_option('filters', array(
  'status' => array(
    'id' => 'status',
    'table' => 'node',
    'field' => 'status',
    'operator' => '=',
    'value' => '1',
    'group' => 0,
    'exposed' => FALSE,
    'expose' => array(
      'operator' => FALSE,
      'label' => '',
    ),
    'status' => array(
      'id' => 'status',
      'table' => 'comments',
      'field' => 'status',
      'operator' => '=',
      'value' => 0,
      'group' => 0,
      'exposed' => FALSE,
      'expose' => array(
        'operator' => FALSE,
        'label' => '',
      ),
      'relationship' => 'none',
    ),
  ),
  'timestamp' => array(
    'operator' => '=',
    'value' => '',
    'group' => '0',
    'exposed' => FALSE,
    'expose' => array(
      'operator' => FALSE,
      'label' => '',
    ),
    'id' => 'timestamp',
    'table' => 'history_user',
    'field' => 'timestamp',
    'relationship' => 'none',
  ),
));
$handler->override_option('access', array(
  'type' => 'role',
  'role' => array(
    '2' => 2,
  ),
));
$handler->override_option('cache', array(
  'type' => 'none',
));
$handler->override_option('title', 'New content since your last login');
$handler->override_option('items_per_page', '25');
$handler->override_option('use_pager', TRUE);
$handler->override_option('style_plugin', 'table');
$handler->override_option('style_options', array(
  'override' => 1,
  'order' => 'desc',
  'columns' => array(
    'type' => 'type',
    'title' => 'title',
    'name' => 'name',
    'comment_count' => 'comment_count',
    'last_comment_timestamp' => 'last_comment_timestamp',
    'timestamp' => 'title',
    'new_comments' => 'comment_count',
  ),
  'info' => array(
    'type' => array(
      'sortable' => 1,
      'separator' => '',
    ),
    'title' => array(
      'sortable' => 1,
      'separator' => ' ',
    ),
    'name' => array(
      'sortable' => 1,
      'separator' => '',
    ),
    'comment_count' => array(
      'sortable' => 1,
      'separator' => '<br />',
    ),
    'last_comment_timestamp' => array(
      'sortable' => 1,
      'separator' => '&nbsp;',
    ),
    'timestamp' => array(
      'separator' => '',
    ),
    'new_comments' => array(
      'separator' => '',
    ),
  ),
  'default' => 'last_comment_timestamp',
));
$handler = $view->new_display('page', 'Page', 'page');
$handler->override_option('path', 'new-content');
$handler->override_option('menu', array(
  'type' => 'normal',
  'title' => 'New Content',
  'description' => '',
  'weight' => '0',
  'name' => 'navigation',
));
$handler->override_option('tab_options', array(
  'type' => 'none',
  'title' => NULL,
  'description' => '',
  'weight' => NULL,
  'name' => 'navigation',
));

beimportálod viewsba, létrejön egy "newcontent" nevű nézet. ez egy page megjelenítőt készít, a navigation menübe egy menüpontot is rak ami erre mutat, a menüpont neve "New Content". csak olyan tartalmakat mutat, amikre igaz:
(szerzője az aktuális user VAGY kommentelt rá) ÉS van új tartalom a legutolsó megtekintés óta

biztos nem tökéletesen pontosan azt csinálja amit szeretnél, de gyors volt :) és az elvet szépen mutatja, végülis pont ezt az argumentumot és szűrőket kell használnod minden mást alakíthatsz ahogy akarsz.

1
0

-
clear: both;

Valaki képe

Helló! azt szeretném kérdezni, hogy estleg dinamikus honlapkészítéssal, ilyen műszaki online áruházhoz kéne. Foglalkozol e?
[email protected] a címem, 06303844516 a számom, kösz a választ előre is

0
-5
kiccsi képe

köszönöm

0
0
csakiistvan képe

Annyiban segíts hogy mi a acélod ezzel? Eltérő felépítés mit takar? Rules modullal talán megoldható.

0
0

Drupal full-stack developer at Wunderman Thompson Budapest

danart képe

A tartalom megjelenítést akarom szétválasztani. Adott egy tartalom, vannak hozzászólásai. Egy bevezetőt tartalmazó nézetben létrehoztam egy hivatkozást a hozzászólások számával, valamit egy tovább a cikkre hivatkozást.
A cél az lenne, hogy a két link ugyanarra a tartalomra mutasson, de a betöltéskor meg tudjam határozni, hogy melyik linkkel történt a megnyitás. Az egyik esetben csak a tartalom jelenik meg, a másikban csak a hozzászólások lenyitható tartalom megjelenítéssel.

Ahogy eddig próbáltam:
* rules - create content's alias: valamiért nem hozta létre a módosított aliast, csak duplikálta a meglevőt (alias: $node -> path . '_comments');
* Saját modul - nodeapi $op = 'insert': amikor beküldöm a hírt még nincs meg az útvonala, ugyan létre tudom hozni magam is az a mintát amit a pathauto-nal beállítottam, de ha később két ugyanolyan nevű tartalom lesz - bajosan fogja beletenni a -0 formát;

... ha bele tudnék akaszkodni a node_save utáni részbe akkor talán már létezne a $node -> path és működne az elgondolás, de eddig nem találtam rá, hogy hol tudnám megfogni.

Azon gondolkodom, hogy ha más nem - egy rules-t (php) futtatok, ami beleteszi az adatbázisba a szükséges sort és akkor tuti az kerül bele amit szeretnék.

0
0
dj képe

be kéne állítani a pathauto-nál, hogy hagyja meg az előzőt is, ha újat hozol létre hozzá.

admin/build/path/pathauto -> Általános beállítások ->

Update action:
Create a new alias. Leave the existing alias functioning.

0
0

Üdv!
Dudás József

Nagy Gusztáv képe

Érdemes lenne az internetes szokásokhoz igazodni:

  • ha egy személyhez van speciális kérdésed, akkor a személy kapcsolatfelvételi űrlapját használod
  • nem kéred senkitől, hogy a te fórumon feltett kérdésedre a fórumon kívüli módon válaszoljon
13
0

Nagy Gusztáv

danart képe

Nem hiszem, hogy ez lett volna az okozója annak, hogy duplikálta a meglevő álnevet.
Megírtam rules - php kombóval az eredményt, és sokkal gyorsabban lefut, mint bármilyen rules-en belüli bűvészkedős megoldás.

Hátha másnak is jól jön:
Szabály: Új tartalom mentése után
Ha: létrejött tartalom: hír (feltétel - opcionáis)
Akkor (do): php kód bevitele:

/***************************************
* src = node/nid, $node -> nid ($path)
* dst = path, $node -> path ($alias)
* language = $node -> language ($lang)
****************************************/
$path = 'node/' . $node -> nid;
$alias = $node -> path . '_comments';
$lang = '';

$res = db_query("INSERT INTO {url_alias} (src, dst, language) VALUES ('%s', '%s', '%s')", $path, $alias, $lang);

if ($res === TRUE) drupal_set_message('Az útvonalálnév alias létrejött.', $type = 'status', $repeat = TRUE);

Megj.: Szükség szerint lehet többnyelvűsiteni t() függvénnyel a feliratot.
Egyéb: a language paramétert azért nem adom meg, mert onnantól a _comments lesz a default node path.

... a célt megvalósítja ez a megoldás - egy korábbi kérdésem 'update'-elem majd, ha kész lesz a teljes megoldás.

Köszönök minden hozzászólást, segítséget!

0
0
Den képe

„Adott egy tartalom, vannak hozzászólásai. Egy bevezetőt tartalmazó nézetben létrehoztam egy hivatkozást a hozzászólások számával, valamit egy tovább a cikkre hivatkozást.
A cél az lenne, hogy a két link ugyanarra a tartalomra mutasson, de a betöltéskor meg tudjam határozni, hogy melyik linkkel történt a megnyitás. Az egyik esetben csak a tartalom jelenik meg, a másikban csak a hozzászólások lenyitható tartalom megjelenítéssel.”

Ilyenkor sokat segít, ha a problémádat írod le, minél egyszerűbben, nem azt, hogy te hogyan próbáltad…

Szal, van egy node/xy tartalmad, a path alias-a legyen mycontent-xy, amit egyszer megjelenítenéd hagyományosan, egyszer pedig úgy, hogy csak a commentek.

Mi lenne, ha /mycontent-xy lenne a teljes nézet? Ekkor innen a commenteket el kell tűntetned. A másik a /mycontent-xy?showcomments url, ami a ?showcomments-ben tér el az előzőtől.

Ekkor már van néhány lehetőséged, de az url még mindig ua. csak adtál egy paramétert.

preprocess: vizsgálod az url paraméter meglétét, és attól függően a commenteket betöltöd, vagy sem, a node tartalmakat mezőit megjeleníted vagy sem.

Másik megoldás lehet, ha Display Suite-el állsz neki: két megjelenítési módót készítesz, az egyiken nincsenek hozzászólások, a másikon vannak, és az url paraméter meglététől függően változtatod a megjelenítést.

A harmadik…

Figyelem, nem konkrét megoldási javaslatokat írtam, módszereket, hogy hogyan lehetne… Vagyis, én valahogy így csinálnám.

0
0
szantog képe

A comment-wrapper.tpl.php köré egy az egyben pakolsz egy feltételt

if (isset($_GET['comments'])) {
// eredeti comment wrapper
}

és utána az http://oldalam/alnevem?comments linkkel tudod előszedni a kommenteket, ha simán a node oldalon van, nincsenek kommentek
5
0

----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.