Balint133 képe

Nos elkezdtem csinálgatni a modult, viszont akadályba ütköztem. Megvan ugye a formom viszont ezt szeretném valahogyan formázni, ehhez az kéne nekem h legyen egy module.tpl.php fileom is amit beilleszt a drupal a content tartalomba. Ha jól tanulmányoztam át az API-t akkor a theme_preprocess_hook függvény kell nekem, viszont ennek a használatáról nemigazán találtam normális leírást ill példát. Tudna valaki segíteni kérem? Ami eddig megvan kód az ennyi:

function converter_perm() {
  return array('access converter');
} // function converter_perm()
 
function converter_all() {
	drupal_add_js(drupal_get_path('module', 'converter') .'/js/main.js');
	drupal_add_js(drupal_get_path('module', 'converter') .'/js/iphone-style-checkboxes.js');
 
	return drupal_get_form('converter_form');
}
 
 
function converter_menu() {
  $items = array();
 
  $items['converter'] = array(
    'title' => 'Converter',
    'page callback' => 'converter_all',
    'access arguments' => array('access converter'),
    'type' => MENU_CALLBACK
  );
 
  return $items;
}
 
function converter_form($form_state) 
{
        /*Nem végleges, csak egy sablon*/
	$form['elkuld'] = array('#type'	=> 'button',
							'#id' 	=> 'elkuld'
							);
 
	$form['subj'] = array('#type' => 'textfield',
						  '#attributes' => array('readonly' => 'readonly')
						  );
 
	$form['csatjel'] = array('#type' => 'textarea',
							 '#resizable' => FALSE,
							);
			$form['test'] = array( '#type' => 'checkbox',
							'#prefix' => '<div class="on_off">',
							'#suffix' => '</div>',
							'#default_value' => 0
							);
 
	$form['farmok']['farm1'] = array('#type' => 'textarea',
									 '#resizable' => FALSE,
		 							 '#prefix' => '<div class="farm" align="center">'
									);
 
	$form['farmok']['farm2'] = array('#type' => 'textarea',
									 '#resizable' => FALSE
									);
	$form['farmok']['farm3'] = array('#type' => 'textarea',
									 '#resizable' => FALSE
									);
	$form['farmok']['farm4'] = array('#type' => 'textarea',
									 '#resizable' => FALSE
									);
	$form['farmok']['farm5'] = array('#type' => 'textarea',
									 '#resizable' => FALSE,
									);							
 
  	return $form;
}
 
function template_preprocess_converter(&$variables)
{
  //ide nemtudom mi kéne
}
0
0
Sk8erPeter képe

Kényszermegoldás következik, ha nem muszáj, ne használjuk, csak akkor, ha a smink átállítása után nem férünk hozzá semmihez. Az alábbi kód alapvetően az általában hibátlanul működő, alapértelmezett sminkekre állítja vissza az aktív sminket.

Itt publikáltam már egy tök egyszerű függvényt a sminkváltásra:
http://drupal.stackexchange.com/questions/139/correct-way-to-change-the-...
Ezt fogom itt is felhasználni.

Vegyél elő egy Notepad++-t (vagy Notepad, Gedit, nano, mindegy), és pakold bele az alábbi kódot:

  1. <?php
  2.  
  3. // which is your Drupal directory? (usually it's in the root (e.g. $_SERVER['DOCUMENT_ROOT']), but it can be different)
  4. $your_drupal_directory = './';
  5.  
  6.  
  7. // store current working directory
  8. $currdir = getcwd();
  9. // change PHP's current directory to Drupal's
  10. chdir($your_drupal_directory);
  11. // including bootstrap file...
  12. require_once("./includes/bootstrap.inc");
  13.  
  14. // http://api.drupal.org/api/drupal/includes%21bootstrap.inc/function/drupal_bootstrap/6
  15. // DRUPAL_BOOTSTRAP_FULL: Drupal is fully loaded, validate and fix input data.
  16.  
  17. // change PHP's current directory BACK to the original
  18. chdir($currdir);
  19.  
  20. // set the active theme back to default
  21. drupal_set_active_theme_to_default();
  22.  
  23. /**
  24.  * Set the active Drupal themes to default ones
  25.  * Works in Drupal 6, 7 (possibly 8 too)
  26.  *
  27.  * @see http://drupal.stackexchange.com/a/51922/2368
  28.  */
  29. function drupal_set_active_theme_to_default() {
  30.  
  31. // Provides a list of currently available themes.
  32. $list_themes = list_themes(TRUE);
  33. // 6, 7, 8, etc.
  34. $major_version = (int)VERSION;
  35.  
  36. $theme_default = isset($list_themes['bartik']) ? 'bartik' : 'garland';
  37. $admin_theme = isset($list_themes['seven']) ? 'seven' : 'garland';
  38.  
  39. // Changes the theme to Garland
  40. variable_set('theme_default', $theme_default);
  41.  
  42. // Changes the administration theme to Garland
  43. variable_set('admin_theme', $admin_theme);
  44.  
  45. if (module_exists('switchtheme')) {
  46. if (empty($_GET['theme']) || $_GET['theme'] !== $theme_default) {
  47. $query = array(
  48. 'theme' => $theme_default
  49. );
  50. // in D6, drupal_goto's second argument is the query string, in >=D7, a more general $options array is used
  51. if($major_version < 7){
  52. $options = $query;
  53. }
  54. else{
  55. $options = array('query' => $query);
  56. }
  57.  
  58. drupal_goto($_GET['q'], $options);
  59. }
  60. }
  61.  
  62. drupal_set_message(t('Default theme has been changed to %theme_default, administration theme has been changed to %admin_theme.', array(
  63. '%theme_default' => $theme_default,
  64. '%admin_theme' => $admin_theme
  65. )));
  66.  
  67. }

aztán nevezd el a fájlt mondjuk set_default_theme.php-nek, RAKD A DRUPAL ROOTJÁBA (egyszerűség kedvéért), majd futtasd le az oldaladon valahogy így:
http://TEOLDALAD.hu/set_default_theme.php
és ha minden jól megy, kész vagy (TEOLDALAD.hu nyilván helyettesítendő a saját megfelelő oldalunk címével).

1
0

"Friss blogbejegyzések" blokk szerzőkkel

elias képe

Sziasztok,

abban szeretnék segítséget kérni, hogy van a blog modulban ez a "Friss blogbejegyzések" blokk, amivel a 10 legfrisebb bejegyzést lehet egy blokkba kitenni, viszont az én oldalamon több szerző - tehát több blog - is van, és azt szeretném valahogy elérni, hogy ne csak a blogbejegyzés címét, hanem a cím elé a szerzőt is kiírja. (kb mintha itt a Drupal.hu-n a Friss hozzászólások-hoz a szerzőt is ki kéne íratni)
Gondolom valamit a blog modulban kell átírni / hozzáírni, de sajnos süsü vagyok hozzá.

javascript hogyan tovabb?

gergely képe

sziasztok!

azt hiszem eleg egyszeru problemat sikerult megoldanom egy kis javascripttel, bannerek rotalasa, tehat minden oldalbetoltesnel mas flash banner jelenik meg.

function writeJS1(){
var str='';
str+='<object width="120" height="240"><param name="movie" value="http:\/\/example.com\/files\/1.swf"><\/param><embed src="http:\/\/example.com\/files\/1.swf" type="application\/x-shockwave-flash" width="120" height="240"><\/embed><\/object>';
document.write(str);
}
 
function writeJS2(){
var str='';

Saját nyelvválasztó modulként

barna89 képe

Sziasztok!

Készítettem egy egyedi nyelvválasztót, ami gyakorlatilag a magyar szöveg angol fordítását keresi ki, visszafele ugyan így.
Ezzel semmi gondom sincs remekül működik!

Csak arra keresek megoldást hogy hogyan lehetne kicsit Drupalosabb-ra csinálni, mert sajna eléggé ellentmond a Drupal alapgondolatainak (ti mondtátok :D, de egyet is értek!)

Leginkább azért mert a page.tpl.php-ban van...

A fő problémám, hogy modult még nem készítettem, és ez így nem a legjobb. Gondolom mindenkinek égnek is áll a haja :D

Ezt írtam bele a page.tpl.php-ba:

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

Drupal 7 multisite shared users

makgab képe

Üdv!

D6-ban szépen működik a multisite osztott useradatokkal (azaz a főadatbázisből azonosította a második site usereit is).
D7-ben is szeretném ezt megoldani. A neten levő infokból az alábbira jutottam.
A fő site 'settings.php'-je, pl.:

Kínlódás a Drush-al

Joee képe

Próbálom telepíteni a Drush-t Drupal 10 Ubuntu2204 localhosthoz ezen leírás alapján.
A Composer már telepítve volt, így azt nem telepítettem újra a leírás szerint. Korábban működött, csak annyi hibája volt, hogy ahányszor újraindítottam a gépet annyiszor kellett újratelepíteni a Drusht-, de ameddig nem indítottam újra addig működött. Most eljutok addig, hogy belépek a Drupal könyvtárába és futtatom a "composer require drush/drush" parancsot, majd ezt kapom:

Fórum: 
eMeLA képe

No akkor jó bogarászást:

<div class='view view-jatekok'>
<div class='view-content view-content-jatekok'>
<div class="item-list">
<ul>
<li>
<div class='view-item view-item-jatekok'>
<div class='view-field view-data-term-node-1-name'>
<a href="?q=taxonomy/term/5" rel="tag" title="">egyik</a> | <a href="?q=taxonomy/term/6" rel="tag" title="">másik</a>
</div>
</div>
</li>
<li>
<div class='view-item view-item-jatekok'>
<div class='view-field view-data-term-node-1-name'>
</div>
</div>
</li>
</ul>
</div>
</div>
</div>

Lefordítva:

van a Játékok szótár abban van az Egyik és Másik kifejezés.

Mégvalami: a pontatlan forrás csak illusztráció, ha mond ez valamit, jó jó máskor a gyengébbek kedvéért odaírom mellé, vagy nem használom a CODE-ot.

Ja és mégvalami: ha a fórumon kérdezek igenis sok munkám volt már előtte vele.

0
0

...mit tudok: http://web.termuves.hu

eaposztrof képe

content type: page, az alap beallitasokkal.
tartalma egy tablazat:

                  <table width="100%" cellspacing="0" cellpadding="0" align="center">
                      <tr>
                        <td width="33%" valign="top">
asdasd...
                        </td>
                        <td width="33%" valign="top">
asdasd...
			</td>
                        <td width="33%" valign="top">
asdasd...
			</td>
                      </tr>
                  </table>
 

masodik <td>-nel ketteosztja, tehat ezt csinalja belole:

...
<td width="33%" valign="top">
<div class="links">
»
<ul class="links inline">
<li class="first last node_read_more">
<a class="node_read_more" title="Read the rest of this posting." href="/node/34">Read more</a>
</li>
</ul>
</div>

see u on the otherside!

0
0

42

Sweetchuck képe

A karma.module "hivatalos" utakon jár, ezért az a hook_form_alter()-rel változtatható.
Smink segítségével is el lehet venni a nem kívánt számokat a választó listából.
teszteletlen

theme_karma_rating_form($form)
{
	foreach($form['rating']['#options'] as $key => $text)
	{
		if(false !== $pos = strpos(': ', $text))
		{
			$form['rating']['#options'][$key] = substr($text, $pos + 1);	
		}
	}
	return drupal_render($form);
}

Nem javasolt módon csinálhatod azt is hogy a karma.module fájl 356. sorát, ami így nézki:
 $rating_options[$rating] = $rating .': '. $rating_titles[$rating];
lecseréled ilyenre:
 $rating_options[$rating] = $rating_titles[$rating];
Ezzel a mozdulattal belenyulsz a kódba, ezért a modul frissítésnél gondjaid lesznek!
Ami várható is, hiszen még csak devel verzió.(fejlesztői)

A simple_karma sokkal több beállítási lehetőséget bíztosít, viszont megkerüli a Drupal ürlap építési folyamatát.
Ha nem akarsz változtatni a modul kódján akkor valmi JavaScript trükkre lesz szükséged.
Egyéb esetben tudom javasolni a simple_karma.module 1711-1714 terjedő sorokat.

0
0