Én is megírtam
Én is megírtam egy kezdetleges változatot. Működik, nem túl bonyolult, hisz csak pár sor az egész. Itt van, egyedül az API kulcsomat töröltem ki belőle, a sajátodat írd oda. Ez mondjuk csak egy bizonyos tartalomtípus címét fordítja csak le (ennyi kellett épp akkor), de azt hiszem elég értelemszerű, és könnyen módosítható.
<?php // $Id$ /** * @file * The implemented hooks of the Google translator module. */ define('GOOGLE_TRANSLATOR_API_KEY', ''); define('GOOGLE_TRANSLATOR_LANGUAGE', 'hu'); function google_translator_nodeapi(&$node, $op) { if ($node->type == 'mention') switch($op) { case 'presave': $node->title = _google_translator_translate($node->title); break; } } function _google_translator_translate($str) { $request = drupal_http_request(sprintf('https://www.googleapis.com/language/translate/v2?key=%s&target=%s&q=%s', GOOGLE_TRANSLATOR_API_KEY, GOOGLE_TRANSLATOR_LANGUAGE, urlencode($str))); if ($request->code == 200 && isset($request->data)) { $json = json_decode($request->data); if (isset($json->data->translations[0]->translatedText)) { $str = $json->data->translations[0]->translatedText; } } return $str; }
Amúgy néha elég katasztrófa dolgokat tud fordítani, de hát végül is csak egy gép.
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
Most gyorban
Most gyorban összekattingattam egy rule-t, ami a termék tipusú tartalmakat mentésük után átadja egy másik felhasználó tulajdonába, ez gond nélkül működik.
Lehet hogy mert én a fethed entityvel töltöm be a user entitást és annak át tudja adni a tartalmat. Esetleg próbáld ki hogy az account-ból számazó userid-t betöltöd fetch entity by id-vel és az így kapott objektumot teszted a node:author-ba
{ "rules_teszt" : { "LABEL" : "teszt", "PLUGIN" : "reaction rule", "OWNER" : "rules", "REQUIRES" : [ "rules" ], "ON" : { "node_update--termek" : { "bundle" : "termek" } }, "DO" : [ { "entity_fetch" : { "USING" : { "type" : "user", "id" : "445" }, "PROVIDE" : { "entity_fetched" : { "entity_fetched" : "Fetched entity" } } } }, { "data_set" : { "data" : [ "node:author" ], "value" : [ "entity-fetched" ] } } ] } }
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
Drush Make + Telepítő Profil Saga
Köszönöm az értékes válaszod. Igazad van "pp", hogy kevertem a szezont a fazonnal, Mea Culpa. Köszi a helyreigazítást, hasznát vettem mindannak amit tanácsoltál!
Kicsit hülyén érzem magam, mert nem mindig tudom egyértelműen kifejezni, hogy eddig mire jutottam önállóan, mi az ami már jól megy és legfőképpen, hogy mit szeretnék elérni. Arról nem is beszélve, hogy miben kérem a segítségeteket.
A Drush Make használatának megismerése jó alkalom volt a számomra arra, hogy a Drupal telepítő profilok létrehozásával is foglalkozzak illetve legyen egy jó ürügy arra, hogy a GitHub-on is nekiessek egy új reponak. Biztosra veszem, hogy gyorsabb lesz ezentúl egy-egy Drupal weboldal telepítése a számomra.
Kedden a második márciusi online megrendezésre kerülő székesfehérvári Drupal felhasználók találkozóján, (egy Google+ Hangout-on) már nemcsak a Drushról tartottam egy rövid kedvcsinálót, hanem egy Drush Make-t is le tudtam futtatni a többieknek. Minden résztvevő aktívan kivette részét a találkozón, mert mindenki bevállalt egy-egy kis előadást valamilyen témában.
Tényleg úgy van ahogy mondtad, a telepítő profilok létrehozása már jóval elmélyültebb Drupal tudást igényel. Én már annak is nagyon örültem a héten, hogy odáig képes voltam eljutni, hogy modulokat tudtam engedélyeztetni vele ezzel is felgyorsítva a munkafolyamatot.
Persze látom, hogy mi mindenre lehet még képes a standard profil, a Spark disztró vagy egyéb Drupal kiadások profilja. Észvesztő, és akkor még nem is említetted a Feature-t. Ez még nagyon távoli cél előttem, hogy valahogy összeboronáljam a Drush + Drush Make + Telepítő Profil és a Featuret mint eszközöket.
Ha van kedved és szabad időd, akkor megnéznéd azt a közel 3 perces kisfilmet, amit ma éjjel készítettem a Drush Make tanuló folyamatról? Arról, hogy meddig jutottam el. Lehet, hogy mások gázosnak látják ezt, de most bevállalom így hajnal 3-4 felé kicsit zombi állapotban.
Örülnék még egy utolsó visszajelzésnek, mert a válaszodban írtad, hogy egy végtelen ciklusba kergettem a Make parancsot, de biztosan így van vagy csak amiatt láttad így, mert korábban nem voltam érthetőbb? Most minden rendben lefutott.
A "minta" Drupal telepítő profil a GitHub-on: https://github.com/robertpetras/minta
A kisfilm a "minta" Drush Make használatáról: http://www.youtube.com/watch?v=2rN7p3dZkjk&feature=share&list=PLotV3wAnH9ROLVGsOpe9Y64jfjBwLD2mE
Legvégül pedig ezt a Drush Make Build-et futtatva indítottam el a munkafolyamatot:
; ------------------------------------------------------------------------------ ; DRUPAL CORE ; ------------------------------------------------------------------------------ projects[drupal][type] = "core" ; ------------------------------------------------------------------------------ ; INSTALLATION PROFILE ; ------------------------------------------------------------------------------ projects[minta][type] = profile projects[minta][download][type] = git projects[minta][download][url] = git@github.com:robertpetras/minta.git projects[minta][download][branch] = master
Előre is köszönöm, ha válaszolni tadna valaki arra, hogy mindtent rendben talál-e vagy sem!
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
teljes siker
Van egy uc_cart_checkout_pane.inc fájl is a cart modulban, ennek rögtön az első uc_checkout_pane_cart(); függvénye kell neked. A 'review' esetén az $items változóban ugyanúgy ott a kép, ahogy az előbbiekben írtam.
<?php /** * Display the cart contents for review during checkout. */ function uc_checkout_pane_cart($op) { switch ($op) { case 'view': $contents['cart_review_table'] = array( '#value' => theme('cart_review_table'), '#weight' => variable_get('uc_pane_cart_field_cart_weight', 2), ); return array('contents' => $contents, 'next-button' => FALSE); case 'review': $items = uc_cart_get_contents(); $output = '<table>'; foreach ($items as $item) { $rows = array(); foreach ($item->options as $option) { $rows[] = t('@attribute: @option', array('@attribute' => $option['attribute'], '@option' => $option['name'])); } // kep utvonala, cime es alt szovege $imagepath = $item->image['filepath']; $imagetitle = $item->image['title']; $imagealt = $item->image['alt']; $desc = check_plain($item->title) . theme('item_list', $rows, NULL, 'ul', array('class' => 'product-options')); // kep elhelyezese egy uj oszlopban $output .= '<tr valign="top"><td>'.theme('imagecache', 'cart', $imagepath, $imagealt, $imagetitle).'</td><td>'. $item->qty .'x</td><td width="100%">'. $desc .'</td><td nowrap="nowrap">'. uc_currency_format($item->price * $item->qty) .'</td></tr>'; } $output .= '</table>'; $review[] = $output; return $review; } }?>
- A hozzászóláshoz regisztráció és bejelentkezés szükséges






A kérdésedben bent a válasz.
A kérdésedben a válasz is szerepel:
Megváltoztathatja. Vagyis amikor regisztrál, akkor a Drupal automatikusan generál neki egy véletlenszerű jelszót:
https://api.drupal.org/api/drupal/modules!user!user.module/function/user...
A user_password() függvény pedig ezt mondja magáról:
Ha az egyszeri belépési linkre kattintva nem ad meg új jelszót, akkor ez a generált marad neki. Többféle módon ki lehet kényszeríteni, hogy kötelező legyen új jelszót megadnia, de azt már ennyiből is láthatod, hogy semmiképpen sem marad senki jelszó nélkül.
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés