pante képe

Köszönöm a részletes leírást, sorban csinálom a pontokat...

Az alsminket megcsináltam a Kézikönyv leírása szerint, az jó és működik.

Viszont a Switchtheme valami miatt teljesen rossz nálam.
Hibaüzenetek sokaságát kapom, friss telepítés után.

Főoldalon (bal oldalsávba kerülne a Switchtheme blokkja):

  1. Notice: Undefined index: name switchtheme_options() függvényben (/public_html/sites/all/modules/switchtheme/switchtheme.module 287 sor).
  2. Notice: Undefined index: name switchtheme_options() függvényben (/public_html/sites/all/modules/switchtheme/switchtheme.module 287 sor).

Admin panel -> Megjelenés:

  1. Notice: Undefined index: name _system_rebuild_theme_data() függvényben (/public_html/modules/system/system.module 2563 sor).
  2. Notice: Undefined index: name _system_rebuild_theme_data() függvényben (/public_html/modules/system/system.module 2563 sor).
  3. Notice: Undefined index: name _system_rebuild_theme_data() függvényben (/public_html/modules/system/system.module 2563 sor).
  4. Notice: Undefined index: name _system_rebuild_theme_data() függvényben (/public_html/modules/system/system.module 2563 sor).
  5. Notice: Undefined index: name system_sort_modules_by_info_name() függvényben (/public_html/modules/system/system.admin.inc 925 sor).
  6. Notice: Undefined index: name system_sort_modules_by_info_name() függvényben (/public_html/modules/system/system.admin.inc 925 sor).
  7. Notice: Undefined index: name system_sort_modules_by_info_name() függvényben (/public_html/modules/system/system.admin.inc 925 sor).
  8. Warning: uasort() [function.uasort]: Array was modified by the user comparison function system_themes_page() függvényben (/public_html/modules/system/system.admin.inc 131 sor).
  9. Notice: Undefined index: name system_themes_page() függvényben (/public_html/modules/system/system.admin.inc 140 sor).
  10. Notice: Undefined index: name system_themes_page() függvényben (/public_html/modules/system/system.admin.inc 158 sor).
  11. Notice: Undefined index: name system_themes_page() függvényben (/public_html/modules/system/system.admin.inc 159 sor).
  12. Notice: Undefined index: name system_themes_page() függvényben (/public_html/modules/system/system.admin.inc 182 sor).
  13. Notice: Undefined index: name system_themes_page() függvényben (/public_html/modules/system/system.admin.inc 191 sor).
  14. Notice: Undefined index: name system_themes_page() függvényben (/public_html/modules/system/system.admin.inc 197 sor).
  15. Notice: Undefined index: name system_sort_themes() függvényben (/public_html/modules/system/system.admin.inc 938 sor).
  16. Warning: uasort() [function.uasort]: Array was modified by the user comparison function system_themes_page() függvényben (/public_html/modules/system/system.admin.inc 237 sor).
  17. Notice: Undefined index: name theme_system_themes_page() függvényben (/public_html/modules/system/system.admin.inc 2708 sor).

Esetleg valami más modul? Vagy ezeket a hibákat, hogy tudnám javítani?

(Amúgy tetszik a honlap, amit csináltál, én is pont ugyanígy szeretném kivételezni az akadálymentesített részt! Csak így zárójelben megkérdezném, mert off-topic lenne, hogy a menünél melyik modult használod és egyéni css-t szerkesztettél hozzá?)

0
0
Sk8erPeter képe

Lenne is egy ötletem rá, én hogyan indulnék neki:
épp ma találtam egy itt ajánlott modult a devel_generate kiegészítéseként, mégpedig a Faker modult:
https://drupal.org/project/faker
ez egy kiegészítő library-vel együtt működőképes:
https://github.com/fzaninotto/Faker/archive/v1.1.0.tar.gz

Biztosít egy hookot, ami a hook_node_presave() implementációjában hívódik meg, és ahol a Faker ún. providereit érjük el, aminek különböző tulajdonságai vannak random generálva, és ezekkel tudjuk módosítani a node mezőit, így például egy Lorem ipsum-blabla helyett lehet az article típus címe egy random személynév/cégnév/akármi, és ugyanígy lehet a szóbanforgó ronda adásszünet-kép is helyettesítve tetszőleges képpel, tetszőleges helyről behozva. Legalábbis ha minden igaz, megvalósítható ezzel is.
A "providerek" külön-külön osztályok, ezek alapból elérhetők - ilyen Provider osztályok vannak, mint az Address, Company, DateTime, Internet, Lorem, Miscellaneous, Person, PhoneNumber, UserAgent, meg egy Base osztály, amit a többi bővít -, de itt jön a lényeg, hogy saját osztály is hozzáadható providerként egy hookon keresztül. Abban pedig elég szabadon variálhatjuk a kódot, és majd egy hookban felhasználhatjuk a vonatkozó részeket.

Itt van a kapcsolódó hook-példa:

  1. /**
  2.  * Alter the instantiated faker object. This gives modules a method for adding
  3.  * custom providers in a centralized place without needing to do it within the
  4.  * generate hook. See the Faker library documentation for information about
  5.  * creating custom providers.
  6.  *
  7.  * @param $faker An instantiated Faker\Generator object.
  8.  */
  9. function hook_faker_alter($faker) {
  10. $faker->addProvider(new ExampleProvider($faker));
  11. }
  12.  
  13. /**
  14.  * Alter a node object that has generated by devel_generate, but before it is
  15.  * saved. This hook itself is called from hook_node_presave, so anything that
  16.  * can be done to the node object in that hook can also be done here.
  17.  */
  18. function hook_faker_node_generate($node, $faker) {
  19. if ($node->type == 'bio') {
  20. $node->title = $faker->name;
  21.  
  22. // Generate an opening paragraph, followed by a 2-4 sections comprised of
  23. // a heading followed by 1-3 paragraphs, each with 5-10 sentences.
  24. $body = '<p>' . $faker->paragraph(3,5) .'</p>';
  25. for ($i = 0; $i < rand(2,4); $i++) {
  26. $body .= '<h3>' . $faker->sentence . '</h3>';
  27. for ($j = 0; $j < rand(1,3); $j++) {
  28. $body .= '<p>' . $faker->paragraph(rand(5,10)) . '</p>';
  29. }
  30. }
  31. $node->body['und'][0]['value'] = $body;
  32. $node->body['und'][0]['format'] = 'full_html';
  33.  
  34. $node->field_email['und'][0]['value'] = $faker->email;
  35. $node->field_phone['und'][0]['value'] = $faker->phoneNumber;
  36. }
  37. }

A legrövidebb példa a legkisebb Provider-osztályból csak szemléltetésként:

namespace Faker\Provider;
 
class PhoneNumber extends \Faker\Provider\Base
{
  protected static $formats = array('###-###-###');
 
  /**
   * @example '555-123-546'
   */
  public static function phoneNumber()
  {
    return static::numerify(static::randomElement(static::$formats));
  }
}

Most így elsőre valószínű, hogy nem teljesen érthető, de érdemes megnézni a kódját, meg kipróbálni a modult (persze a fentebbi minimális kódolás szükséges hozzá, de a példa egy az egyben felhasználható, kivéve nyilván alapból a field_email, field_phone mezőket), mert ötletadónak elég jó lehet, szerintem lehetne vele mit kezdeni épp a kívánt célra is.

3
0

SQL tábla karbantartás

makgab képe

sziasztok!

Eredetileg ebből indultam ki:
"http://drupal.hu/forum/elemek-list%C3%A1ja-az-admin-oldalon"

A szerkesztés és a törlés érdekelne, persze nem a users táblában. :)
Saját modult irnék, és egy sima sql tábla karbantartásához kellene, kérdéses edit, delete mintának. Tudnátok segíteni?

A eredeti kód az említett url-ről:

function lista_pelda_menu() {
  $items['lista'] = array(
    'title' => 'Lista pelda',
    'description' => 'Pelda.',
    'page callback' => 'drupal_get_form',
    'page arguments' => array('listazas'),
    'access callback' => 'user_access',
Drupal verzió: 

SQL lekérdezés

makgab képe

Hi!

Szeretnék a modulomban egy lekérdezés menüt. Megadja a user a paramétereket és utána hogy érdemes generálni a HTML táblázatot az eredmény megjelenítésére?
Csak az elv érdekelne.

A lenti kód egy korábbi fórumtéma demokód részlete. Gyakorlatilag elég, ha a listazas() függvénynek átadásra kerül a szükséges paraméter? Ez jó megoldás?

G.

<?php
 
function listazas() {
  $header = array(
    array('data' => t('User name'), 'field' => 'u.name', 'sort' => 'asc'),
    array('data' => t('Mail'), 'field' => 'u.mail'),
Drupal verzió: 

Form submit esetén hiba

Wathfea képe

Sziasztok!

Amikor submitot nyomok az egyik formomon valamiért nem fut le teljes egészében a hook_form_submit().
A submit után elvileg kéne kapjak egy e-mailt a kitöltött adatokkal illetve egy másik címre is menni-e kell egy levélnek, kicsit részletesebb leírással.
Ez meg is történik megkapom a leveleket minden adat benne van.

Ezután az adatbázisba bekéne töltsön adatokat, ami már nem történik meg, valamint átkéne irányítson egy aloldalra, ez se következik be. Helyette behozza a rendszer a site-maintanace oldalt.
Miért akadhat így el?

Drupal verzió: 

Árukereső Megbízható bolt integrálása

zedclans képe

Üdv,
A napokban beléptem az arukereso partner rendszerébe, és gondoltam részt veszek a „Megbízható Bolt” programjukban , amit integrálni kéne a drupal rendszerébe, adott is a rendszer egy leírásnak nevezett szörnyedvény, de számomra elég érthetetlen, így gondoltam feldobom ide a témát, hátha valakinek van már tapasztalata az ügyben.

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

Alapul véve a 5.1-es szavazás modult, kicsit módosítva a poll_block() függvényt nálam működik a következő kód:

function tesztmodul_block($op = 'list', $delta = 0) {
  if (user_access('access content')) {
    if ($op == 'list') {
      $blocks[0]['info'] = t('Random poll');
      return $blocks;
    }
    else if ($op == 'view') {
      $sql = db_rewrite_sql("SELECT n.created FROM {node} n INNER JOIN {poll} p ON p.nid = n.nid WHERE n.status = 1 AND p.active = 1 ORDER BY RAND()");
      $timestamp = db_result(db_query($sql));
      if ($timestamp) {
        $poll = node_load(array('type' => 'poll', 'created' => $timestamp, 'status' => 1));
 
        if ($poll->nid) {
          $poll = poll_view($poll, TRUE, FALSE, TRUE);
        }
      }
      $block['subject'] = t('Poll');
      $block['content'] = drupal_render($poll->content);
      return $block;
    }
  }
}

Ha csak simán bemásoltam az idevágó részt a Blokk hozzáadása menünél, úgy nálam se ment, egy tömböt adott csak vissza. Szóval hozz létre egy modult a sites/all/modules-ben, nevezed át ezt a függvényt a_modul_neve_block-ra, és már csak engedélyezned kell a blokkot.

0
0
tiwaz képe

Na úgy csináltam, lehet hogy magamtól rájöttem?, hogy a firefoxban lekértem a page sourceot, az idevágó részlet a következő:

<div class="form-item">
 <label for="edit-statistics-flush-accesslog-timer">Discard access logs older than: </label>
 <select name="statistics_flush_accesslog_timer" class="form-select" id="edit-statistics-flush-accesslog-timer" ><option value="3600">1 hour</option><option value="10800">3 hours</option><option value="21600">6 hours</option><option value="32400">9 hours</option><option value="43200">12 hours</option><option value="86400">1 day</option><option value="172800">2 days</option><option value="259200">3 days</option><option value="604800">1 week</option><option value="1209600">2 weeks</option><option value="2419200" selected="selected">4 weeks</option><option value="4838400">8 weeks</option><option value="9676800">16 weeks</option></select>
 
 <div class="description">Older access log entries (including referrer statistics) will be automatically discarded. Requires crontab.</div>
</div>
0
0
ninja képe

<?php
if (arg(0) == 'node' && is_numeric(arg(1)) && is_null(arg(2))) {
	$nid = (int)arg(1);
	$terms = taxonomy_node_get_terms($nid);
	print '<div class="related">';
	print '<h3>Kapcsolodó bejegyzések <img alt="" src="../reload_all_tabs.png" /></h3>';
	print '<fieldset style="border: 0px;" class="collapsible collapsed"><legend>A kapcsolodó bejegyzések megtekintése</legend>';
	foreach($terms as $term){
		$sql = "SELECT n.title, n.nid, n.created FROM {node} n INNER JOIN {term_node} tn ON n.nid = tn.nid WHERE tn.tid = $term->tid AND n.nid != $nid AND n.status = 1 ORDER BY n.created DESC LIMIT 5"; 
		$result = db_query(db_rewrite_sql($sql));
		if (db_num_rows($result)) {
			print '<div class="commentauthor">';
			print 'Legutóbbi tartalmak a '. $term->name. ' témában';
			print '</div>';
			while ($anode = db_fetch_object($result)) {
				print '<ul><li>'.l($anode->title, "node/$anode->nid").'</li></ul>';
	} 
		}
			}
	print '<p><a href="/cimkefelho">Az összes cimke megtekintése</a></p>';
	print'</fieldset>';
	print '</div>';
}
?>

ninja - http://alleycat.hu

0
0
Paal képe

Felmásoltam a gyökérbe mindent (a képeket is).

Az alábbi kódot használva a page.tpl.php-ban:

  <script type="text/javascript" src="http://www.etyektaverna.hu/swfobject.js"></script>
	<script type="text/javascript">
		var s1 = new SWFObject("http://www.etyektaverna.hu/imagerotator.swf","rotator","970","180","7");
		s1.addParam("allowfullscreen","true");
		s1.addVariable("file","http://www.etyektaverna.hu/banner.xml");
		s1.addVariable("width","970");
		s1.addVariable("height","180");
		s1.addVariable("transition","lines");
		s1.addVariable("shownavigation","false");
		s1.write("container");
	</script>

A banner.xml-ben próbáltam simán beilleszteni a képet, és teljes útvonallal is:

		<track>
			<title> </title>
			<creator> </creator>
			<location>05.jpg</location>
			<info> </info>
		</track>

		<track>
			<title> </title>
			<creator> </creator>
			<location>http://www.etyektaverna.hu/05.jpg</location>
			<info> </info>
		</track>

Nem tudom mi lehet a gond. Meg tudnád nézni, hogy sikerült megoldanod?

Itt a működő:
http://www.etyektaverna.hu/imagerotator.html

Köszi, Pali

0
0

--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan