fórum-válasz értesítő

kiccsi képe

Szeretnék olyan modult találni a 6.22-es Drupalhoz, ami ha az illető beirására válasz hozzászólás érkezik, új belépéskor megmutatja neki. Esetleg elküldi e-mailos értesítésként.

aksza képe

A rules modul lesz neked jó.

0
0
Balogh Zoltán képe

Azt kicsit cifra lesz összekattintgatni a Rules-ban, hogy ha volt olyan tartalmam, amire érkezett új komment, azt mutassa meg egy blokkban.

Mint minden ilyenre, ott a Views. A tracker nézetének kell csinálni egy új blokkot, melyben plusz filterekkel beállítani, hogy csak azokat a fórumtémámak mutassa, melynek szerzője a kurrens júzer, és van új hozzászólás. Aztán a blokkot már oda teszem, ahová akarom.

A b verzióra (küldje ki emailben) valószínűleg össze lehet kattingatni, hogy a Rules a hozzászólás mentésekor töltse be az eredeti tartalmat, és abból molyolja ki a szerzőt, annak email címét, és annak küldjön levelet, de ez egyrészt kissé (nagyon) macerás lesz, másik meg, hogy az ágyúval verébre tipikus esete.

Van nekünk szép kis hook_comment hurkunk, melyben hozzáférünk annak a tartalomnak az azonosítójához, melyre a hozzászólást éppen mentik / törlik, et cetera. Innentől 2-3 feltétel, 5-6 sor kód, megvan a szerző, annak email címe és már ki is ment neki a levél.

Tehát szerintem inkább Views (az úgy is ott van általában), plusz egy max. 10 soros kis saját modul.

0
0
kiccsi képe

"hogy csak azokat a fórumtémámak mutassa, melynek szerzője a kurrens júzer, és van új hozzászólás"

Nem csak azt kellene. Van egy topik. Tesz egy hozzászólást az illető. Mire legközelebb visszajön, már volt egy csomó beírás. Most kezdje el keresni, hogy az övére volt-e válasz? Nyilván ez is egy lehetőség, mert a böngésző keresés funkcióját használva megmutatja a saját beírásait. De ez így nagyon időigényes megoldás, ha valaki sok helyre ír, akkor nem lesz ennyi ideje. Kell tehát egy ablak ahol látja a neki szóló válaszokat és rá is tud kattintani. Ilyen modult keresek, de nem találok. Olyan megoldás ami programozással jár, nem megoldható. Ha nincsen külön ilyen modul a Drupal6 alá, akkor így marad.

0
0
aboros képe

argumentumokkal és filterekkel tudsz ilyet csinálni viewsban.

0
0

-
clear: both;

kiccsi képe

Esetleg mutatnál rá példát?

0
0
aboros képe

akkor mutatok. minden esetre ha még sose láttál viewst, azzal ismerkedj, nem harap.

0
0

-
clear: both;

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;

kiccsi képe

köszönöm

0
0