Keresés

Mező értékének meghatározása valamilyen feltétellel

mpety képe

Üdv Mindenkinek!

A következő a problémám (7-es Drupal):
Van egy tartalomtípusom és annak van egy mezője (egész szám típusú). Azt szeretném elérni, hogy ebbe a mezőbe csak olyan értékeket lehessen megadni amelyek nagyobbak a már eddig ugyanazon felhasználó által létrehozott (és jelenleg létező) hasonló típusú tartalmak hasonló mezőjének értékénél!

Tehát ha valaki létrehoz egy új tartalmat, majd megadja a mező értékének, hogy 5, de már létezik olyan általa beküldött tatalom, ahol ennek a mezőnek az értéke 3, akkor ne tudja ezt létrehozni, hanem kapjon egy üzenetet, hogy csak nagyobbat írhat bele, mint 5! mondjuk...

Jelenleg ott tartok, hogy készítettem egy pici kis modult amellyel létrehoztam a mezőt, gondoltam így biztosan könnyebb lesz valamilyen értékét befolyásoló feltételt írni hozzá... ez alapján: http://realguess.net/node/161 plusz a drupal.org API alapján.
Elkezdtem keresgélni, hogy hogyan is lehetne befolyásolni a mező értékét, de sajna elakadtam és ehhez szeretnék valami útmutatást, tanácsot, iránymutatást kérni!
Találtam még egy ilyet is: http://drupal.org/node/1343708 de valami azt súgja nekem, hogy van ettől egyszerűbb verzió is...

Arra is gondoltam, hogy itt adok meg valami feltételeket:

$field = array(
        'default' => valami feltételek
    );

Hasonlítanám az épp aktuális node mezőjét az ugyanazon felhasználó által már létrehozott node-ok hasonló mezőihez, de ez már így leírva nagyon sántít, hiszen ettől még akármilyen értékre átírhatja, mivel ez csak egy default értéket ad a mezőnek... meg egyébként sem tudom hogy hogyan hivatkozhatok a többi node hasonló mezőjére meg az épp aktuális node mezőjére...

Előre is köszönöm a segítséget!

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

Felhívás a foldtan.ro portál felfrissítése kapcsán

kobold11 képe

Kedves drupalosok!

A kolozsvári székhelyű Koch Antal Földtani Társaság és a GEKKO közös portáljának (www.foldtan.ro ) felfrissítését tervezzük. A teszt verzió felületén is látható (http://t6.gekko.ro/ ), hogy lelkesen igyekszünk, de sajnos csak szerény eredményeket adhatot tapasztalatlanságunk.

Ebben a helyzetben kérjük a tapasztalt drupalos fejlesztők segítségét!

Fő célkitüzéseink/elvárásaink:
1. A Drupal 4-en futó www.foldtan.ro jelenlegi tartalmának „átmentése” Drupal 7 alá.
2. Új smink készítése/beüzemelése (css, php, etc). Mi fusion alapon képzeltük el, de szivesen fogadunk egyébb javaslatokat is. A látványterv itt érhető el: http://www.foldtan.ro/honlap_verz16feb.jpg .
3. A már meglévő modulok áttelepítése, az elavultak (pl. events) korszerűbb helyetesítése. Néhány új modul telepítése és beüzemelése: a portál több nyelvűsítése, gmap/location vagy más georeferált tartalomszerkesztési lehetőség, szótár (angol-magyar-román földtani szakszavak) beüzemelése, stb.
4.A www.foldtan.ro szerkesztőinek drupalos tanácsokkal való ellátása az új verzió beindítása kapcsán.

A KAFT és a GEKKO civil alpon szerveződő és szerény anyagi háttérrel rendelkező egyesületek. A Társaságunk sajnos nem tud versenyképes fizetést biztosítani az elvégzett munka ellenébe, de egyszeri össztöndíjszerű támogatás (földtudományos hallgatók előnyben!) vagy tanácsadói jutalék kifizetésének lehetőségét igyekszik megteremteni egy közös megállapodás után.

Tisztelettel és köszönettel várjuk javaslaitokat itt a fórumon!

Dr. Márton István
(a KAFT elnökségi tagja, a www.foldtan.ro szerkesztője/adminisztrátora)

Taxonomy upgrade extras: 
Drupal verzió: 

Taxonomy parent-children drupal 7

gazsesz képe

Egyszerűen nem értem, hogy mi lehet a probléma. A szerveren levő rendszerben egyszerűen nem hozza a szülő kifejezés a gyerekekhez tartozó tartalmakat, pedig a taxonomy_views-ban be van állítva a depth=1-re.
Itthoni környezetben frankón működik, de nem jövök rá, hogy mi lehet a probléma.
A szerveres környezetben domain access, és több szótár is van, de nem hiszem, hogy ez lehet a probléma.

Alább a nem működő view:

$view = new view;
$view->name = 'taxonomy_term';
$view->description = 'A view to emulate Drupal core\'s handling of taxonomy/term.';
$view->tag = 'default';
$view->base_table = 'node';
$view->human_name = 'Taxonomy term';
$view->core = 7;
$view->api_version = '3.0';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
 
/* Display: Master */
$handler = $view->new_display('default', 'Master', 'default');
$handler->display->display_options['access']['type'] = 'none';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['query']['options']['query_comment'] = FALSE;
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['pager']['type'] = 'full';
$handler->display->display_options['style_plugin'] = 'default';
$handler->display->display_options['row_plugin'] = 'node';
$handler->display->display_options['row_options']['view_mode'] = 'search_result';
$handler->display->display_options['row_options']['links'] = 1;
$handler->display->display_options['row_options']['comments'] = 0;
/* Sort criterion: Content: Region-priority (field_region_priotity) */
$handler->display->display_options['sorts']['field_region_priotity_value']['id'] = 'field_region_priotity_value';
$handler->display->display_options['sorts']['field_region_priotity_value']['table'] = 'field_data_field_region_priotity';
$handler->display->display_options['sorts']['field_region_priotity_value']['field'] = 'field_region_priotity_value';
/* Sort criterion: Content: Category_prio (field_cat_prio) */
$handler->display->display_options['sorts']['field_cat_prio_value']['id'] = 'field_cat_prio_value';
$handler->display->display_options['sorts']['field_cat_prio_value']['table'] = 'field_data_field_cat_prio';
$handler->display->display_options['sorts']['field_cat_prio_value']['field'] = 'field_cat_prio_value';
/* Sort criterion: Content: Priority (field_priority) */
$handler->display->display_options['sorts']['field_priority_value']['id'] = 'field_priority_value';
$handler->display->display_options['sorts']['field_priority_value']['table'] = 'field_data_field_priority';
$handler->display->display_options['sorts']['field_priority_value']['field'] = 'field_priority_value';
/* Contextual filter: Content: Has taxonomy term ID (with depth) */
$handler->display->display_options['arguments']['term_node_tid_depth']['id'] = 'term_node_tid_depth';
$handler->display->display_options['arguments']['term_node_tid_depth']['table'] = 'node';
$handler->display->display_options['arguments']['term_node_tid_depth']['field'] = 'term_node_tid_depth';
$handler->display->display_options['arguments']['term_node_tid_depth']['default_action'] = 'not found';
$handler->display->display_options['arguments']['term_node_tid_depth']['exception']['title_enable'] = 1;
$handler->display->display_options['arguments']['term_node_tid_depth']['title_enable'] = 1;
$handler->display->display_options['arguments']['term_node_tid_depth']['title'] = '%1';
$handler->display->display_options['arguments']['term_node_tid_depth']['default_argument_type'] = 'fixed';
$handler->display->display_options['arguments']['term_node_tid_depth']['default_argument_skip_url'] = 0;
$handler->display->display_options['arguments']['term_node_tid_depth']['summary']['number_of_records'] = '0';
$handler->display->display_options['arguments']['term_node_tid_depth']['summary']['format'] = 'default_summary';
$handler->display->display_options['arguments']['term_node_tid_depth']['summary_options']['items_per_page'] = '25';
$handler->display->display_options['arguments']['term_node_tid_depth']['specify_validation'] = 1;
$handler->display->display_options['arguments']['term_node_tid_depth']['validate']['type'] = 'taxonomy_term';
$handler->display->display_options['arguments']['term_node_tid_depth']['validate_options']['vocabularies'] = array(
  'brands' => 'brands',
  'categories' => 'categories',
  'cities' => 'cities',
  'tags' => 'tags',
);
$handler->display->display_options['arguments']['term_node_tid_depth']['validate_options']['type'] = 'tids';
$handler->display->display_options['arguments']['term_node_tid_depth']['validate_options']['transform'] = 0;
$handler->display->display_options['arguments']['term_node_tid_depth']['depth'] = '0';
$handler->display->display_options['arguments']['term_node_tid_depth']['break_phrase'] = 1;
$handler->display->display_options['arguments']['term_node_tid_depth']['set_breadcrumb'] = 0;
$handler->display->display_options['arguments']['term_node_tid_depth']['use_taxonomy_term_path'] = 0;
/* Contextual filter: Content: Has taxonomy term ID depth modifier */
$handler->display->display_options['arguments']['term_node_tid_depth_modifier']['id'] = 'term_node_tid_depth_modifier';
$handler->display->display_options['arguments']['term_node_tid_depth_modifier']['table'] = 'node';
$handler->display->display_options['arguments']['term_node_tid_depth_modifier']['field'] = 'term_node_tid_depth_modifier';
$handler->display->display_options['arguments']['term_node_tid_depth_modifier']['exception']['title_enable'] = 1;
$handler->display->display_options['arguments']['term_node_tid_depth_modifier']['default_argument_type'] = 'fixed';
$handler->display->display_options['arguments']['term_node_tid_depth_modifier']['summary']['format'] = 'default_summary';
$handler->display->display_options['arguments']['term_node_tid_depth_modifier']['specify_validation'] = 1;
/* Filter criterion: Content: Published or admin */
$handler->display->display_options['filters']['status_extra']['id'] = 'status_extra';
$handler->display->display_options['filters']['status_extra']['table'] = 'node';
$handler->display->display_options['filters']['status_extra']['field'] = 'status_extra';
$handler->display->display_options['filters']['status_extra']['group'] = 0;
$handler->display->display_options['filters']['status_extra']['expose']['operator'] = FALSE;
 
/* Display: Page */
$handler = $view->new_display('page', 'Page', 'page');
$handler->display->display_options['path'] = 'taxonomy/term/%';
 
/* Display: Feed */
$handler = $view->new_display('feed', 'Feed', 'feed');
$handler->display->display_options['pager']['type'] = 'full';
$handler->display->display_options['pager']['options']['items_per_page'] = 15;
$handler->display->display_options['style_plugin'] = 'rss';
$handler->display->display_options['row_plugin'] = 'node_rss';
$handler->display->display_options['path'] = 'taxonomy/term/%/%/feed';
$handler->display->display_options['displays'] = array(
  'page' => 'page',
  'default' => 0,
);
$translatables['taxonomy_term'] = array(
  t('Master'),
  t('more'),
  t('Potvrdi'),
  t('Reset'),
  t('Sort by'),
  t('Asc'),
  t('Desc'),
  t('Items per page'),
  t('- All -'),
  t('Offset'),
  t('All'),
  t('%1'),
  t('Page'),
  t('Feed'),
);

Ez meg a működő:

$view = new view;
$view->name = 'taxonomy_term';
$view->description = 'A view to emulate Drupal core\'s handling of taxonomy/term.';
$view->tag = 'default';
$view->base_table = 'node';
$view->human_name = 'Taxonomy term';
$view->core = 7;
$view->api_version = '3.0';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
 
/* Display: Master */
$handler = $view->new_display('default', 'Master', 'default');
$handler->display->display_options['access']['type'] = 'none';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['query']['options']['query_comment'] = FALSE;
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['pager']['type'] = 'full';
$handler->display->display_options['style_plugin'] = 'default';
$handler->display->display_options['row_plugin'] = 'node';
$handler->display->display_options['row_options']['view_mode'] = 'search_result';
$handler->display->display_options['row_options']['links'] = 1;
$handler->display->display_options['row_options']['comments'] = 0;
/* Sort criterion: Content: Sticky */
$handler->display->display_options['sorts']['sticky']['id'] = 'sticky';
$handler->display->display_options['sorts']['sticky']['table'] = 'node';
$handler->display->display_options['sorts']['sticky']['field'] = 'sticky';
$handler->display->display_options['sorts']['sticky']['order'] = 'DESC';
/* Sort criterion: Content: Post date */
$handler->display->display_options['sorts']['created']['id'] = 'created';
$handler->display->display_options['sorts']['created']['table'] = 'node';
$handler->display->display_options['sorts']['created']['field'] = 'created';
$handler->display->display_options['sorts']['created']['order'] = 'DESC';
/* Contextual filter: Content: Has taxonomy term ID (with depth) */
$handler->display->display_options['arguments']['term_node_tid_depth']['id'] = 'term_node_tid_depth';
$handler->display->display_options['arguments']['term_node_tid_depth']['table'] = 'node';
$handler->display->display_options['arguments']['term_node_tid_depth']['field'] = 'term_node_tid_depth';
$handler->display->display_options['arguments']['term_node_tid_depth']['default_action'] = 'not found';
$handler->display->display_options['arguments']['term_node_tid_depth']['exception']['title_enable'] = 1;
$handler->display->display_options['arguments']['term_node_tid_depth']['title_enable'] = 1;
$handler->display->display_options['arguments']['term_node_tid_depth']['title'] = '%1';
$handler->display->display_options['arguments']['term_node_tid_depth']['default_argument_type'] = 'fixed';
$handler->display->display_options['arguments']['term_node_tid_depth']['default_argument_skip_url'] = 0;
$handler->display->display_options['arguments']['term_node_tid_depth']['summary']['number_of_records'] = '0';
$handler->display->display_options['arguments']['term_node_tid_depth']['summary']['format'] = 'default_summary';
$handler->display->display_options['arguments']['term_node_tid_depth']['summary_options']['items_per_page'] = '25';
$handler->display->display_options['arguments']['term_node_tid_depth']['specify_validation'] = 1;
$handler->display->display_options['arguments']['term_node_tid_depth']['validate']['type'] = 'taxonomy_term';
$handler->display->display_options['arguments']['term_node_tid_depth']['validate_options']['type'] = 'tids';
$handler->display->display_options['arguments']['term_node_tid_depth']['validate_options']['transform'] = 0;
$handler->display->display_options['arguments']['term_node_tid_depth']['depth'] = '1';
$handler->display->display_options['arguments']['term_node_tid_depth']['break_phrase'] = 1;
$handler->display->display_options['arguments']['term_node_tid_depth']['set_breadcrumb'] = 0;
$handler->display->display_options['arguments']['term_node_tid_depth']['use_taxonomy_term_path'] = 0;
/* Contextual filter: Content: Has taxonomy term ID depth modifier */
$handler->display->display_options['arguments']['term_node_tid_depth_modifier']['id'] = 'term_node_tid_depth_modifier';
$handler->display->display_options['arguments']['term_node_tid_depth_modifier']['table'] = 'node';
$handler->display->display_options['arguments']['term_node_tid_depth_modifier']['field'] = 'term_node_tid_depth_modifier';
$handler->display->display_options['arguments']['term_node_tid_depth_modifier']['exception']['title_enable'] = 1;
$handler->display->display_options['arguments']['term_node_tid_depth_modifier']['default_argument_type'] = 'fixed';
$handler->display->display_options['arguments']['term_node_tid_depth_modifier']['summary']['format'] = 'default_summary';
$handler->display->display_options['arguments']['term_node_tid_depth_modifier']['specify_validation'] = 1;
/* Filter criterion: Content: Published or admin */
$handler->display->display_options['filters']['status_extra']['id'] = 'status_extra';
$handler->display->display_options['filters']['status_extra']['table'] = 'node';
$handler->display->display_options['filters']['status_extra']['field'] = 'status_extra';
$handler->display->display_options['filters']['status_extra']['group'] = 0;
$handler->display->display_options['filters']['status_extra']['expose']['operator'] = FALSE;
 
/* Display: Page */
$handler = $view->new_display('page', 'Page', 'page');
$handler->display->display_options['path'] = 'taxonomy/term/%';
 
/* Display: Feed */
$handler = $view->new_display('feed', 'Feed', 'feed');
$handler->display->display_options['pager']['type'] = 'full';
$handler->display->display_options['pager']['options']['items_per_page'] = 15;
$handler->display->display_options['style_plugin'] = 'rss';
$handler->display->display_options['row_plugin'] = 'node_rss';
$handler->display->display_options['path'] = 'taxonomy/term/%/%/feed';
$handler->display->display_options['displays'] = array(
  'page' => 'page',
  'default' => 0,
);

Megköszönöm, ha valaki tud segíteni!

Taxonomy upgrade extras: 
Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 

Tartalom importálás és frissítés egy jelszóval védett ftp-n található xls fájlból...

zangax képe

Sziasztok!

Adott egy xls fájl, ami minden éjjel frissül, elérhető egy jelszóval védett ftp kapcsolaton keresztül.

Ebben vannak egy cég ajánlatai, amiket szeretnék beimportálni a drupal 6 alapú weboldalamba, és rendszeresen frissíteni az ajánlatokat. Persze automatizálva...

Körülnéztem, hogy mégis hogyan lehetne ezt megtenni...

Gondoltam feeds + feeds_xpathparser tudja ezt, de nem boldogultam vele. Elbizonytalanodtam, hogy ez tudja e, amire nekem szükségem van.

Találtam egy olyat is, hogy aggregation modul... Azt hiszem ez tudja, ami nekem kell. Létrejön a hírcsatorna tartalomtípus, amiben jelszóval védett kapcsolatot is sikerül csinálnom. De ez még kevés...

Ha jól értem Aggregation feed type-ként kellene xml-t létrehoznom, de nem sikerül. Vagyis mivel sosem csináltam hasonlót sem, nem tudom mi is lenne a teendőm.

A céges xml fájl alapján kellene létrehoznom egy olyan feed type-ot, amiben összepárosítom az xml mezőit egy tartalomtípus mezőivel?

Abban kérem a tanácsotokat, hogy ti hogyan oldanátok meg ezt a kérdést? Milyen modulokkal? Jó irányba indultam egyáltalán?

Ha esetleg konkrét tippetek van a megoldáshoz, az még jobb... de jelenleg bármilyen iránymutatás jól jönne.

Előre is köszönöm a megértést!

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 

Nézet létrehozásához field_image forrásának kinyerése

Vakantanka képe

Sziasztok!

Még kezdő vagyok Drupalban és sajnos nem találok egyfajta problémára egyszerű (semmilyen) megoldást (angolul elég rosszul tudok):
- létrehozok egy tartalomtípust, melyhez (többek között) egy kép mező is tartozik,
- létrehozok egy nézetet, ami listázza a tartalomtípushoz tartozó oldalak címét és az oldalhoz tartozó képet, majd
- ezt a listát szeretném megcsinálni úgy, hogy a tartalmak címei és a képek is magára az adott tartalomra mutató linkek legyenek.
A nézet létrehozásakor a cím mezővel nincs is baj, egyszerűen bekattintom a "Link this field to the original piece of content" jelölődobozt, zsír. A kép mezővel viszont ezt nem tudom megtenni, a képen megjelenő link magára a képre mutat. Hogy tudnám ezt átírni a tartalomra? Próbálkoztam a rewrite-tal: , de ez sem vezet eredményre, a link belsejébe így is beteszi a field_image kódját (naná). Milyen formában kellene beírnom, hogy megkapjam csak a forrást?
Vagy valami elvi hiba van? Ez nem járható út?
Üdv!

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 

DDoS / Overload támadás Drupal ellen

Ramirez_hun képe

Sziasztok!

Ma futottam bele ebbe: http://itcafe.hu/hir/anonymous_hoffmann_rozsa.html

A cikk szerint túlterheléssel támadták az oldalt. Tekintsünk el attól, hogy a dolog valóságtartalmát, okait taglalnánk, viszont ami számunka érdekesebb, hogy Drupal oldalról van szó.

Kérdésem az lenne, hogyan lehet felkészíteni az oldalainkat egy hasonló helyzet ellen? Milyen biztonsági lépéseket tehetünk meg alap, illetve komolyabb szinten?

Ramirez

Drupal verzió: 
Fórum: 

Ubercart - Megbízható bolt program

deltafly képe

Sziasztok!

Ubercart + Arukereső -ről lenne szó.
Szeretnénk részvenni a az Übercartos webshopunkkal az Árukereső "megbízható bolt" programjában.

Sajnos nekem nem sikerült megfelelően integrálnom az az adatbekérő fájlt.
Esetleg valaki már csinált hasonlót?

Taxonomy upgrade extras: 
Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
Fórum: 

Ubercart - egységcsomagokból több db a kosárba

burney képe

Sziasztok!

Ubercart alapú webshop fejlesztése során a következő problémába ütköztem:

Csomagolási egységekben szeretnénk a termékeket árusítani, ami azt jelenti, hogy ha a csomagolási egység értéke pl. 10, akkor kizárólag 10 db termék vagy annak többszöröse rendelhető. (tehát pl. 13 nem, csak 10, 20, 30...)

A csomagolási egység értékét CCK mezőben kértem be.

Azt szeretném kérdezni, hogy hogyan tudnám újradefiniálni a quantity mezőt, azaz, hogyan tudom azt megtenni, hogy ha a vásárló a mennyiséget megadja pl. 2-t akkor az ár az nem csak 2-vel szorzódik, hanem a csomagolási egységgel is, az alábbi szerint:
fizetendő: mennyiség(UC) * csomagolási_egység(CCK) * egységár(UC)

Továbbá fontos, hogy a kosárban lévő mennyiség-re is működjön.

Jelenleg fut egy egyedi árkezelő modul abba szeretném beletenni.

Nagyon lekötelezne valaki, ha segítene megtalálni a megoldást. :)

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 

Ubercart+Views

Gyuree képe

Sziasztok!

Az a gond lépett fel,hogy egy Ubercart rendelős oldalon egy termékhez rengeteg tulajdonság kapcsolható, emiatt a nézetem,már ami a pdf részt illeti,vagy iszonyú hosszú(table),vagy egymásra csúsztatva jeleníti meg a termékeket,és a tulajdonságokat (row).

Lehetséges table nézetben a sortörés?
Tehát a 40 tulajdonság 2-3 oszlopban jelenjen meg?

Jelenleg kb ilyen:
1
2
3
4
5
6
Ilyen kéne:
1 4
2 5
3 6

Ötleteiteket előre is köszönöm!

Gyuree

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: