KSand képe

Végül ezt sikerült kihámozi,és már "csak" használni kell.

1.lépés
Tomcat,Solr telepítése Ubuntu 10.10 – Maverick Meerkat - alatt

Telepítés a szoftverközponton keresztül csak egy-egy kattintás.Telepítendő alkalmazások:

tomcat6 : Servlet and JSP engine
tomcat6-admin : Admin web applications
tomcat6-common : Common files
tomcat6-user : Tools to create user instances
tomcat6-docs : Example web applications
tomcat6-examples : Example web applications
solr-common
solr-tomcat

Tomcat indítása terminál ablakból:
sudo su
/etc/init.d/tomcat6 start

2.lépés
Tomcat6 - Apache Solr összeházasítása

wget http://apache.rediris.es/lucene/solr/1.4.1/apache-solr-1.4.1.tgz
tar -zxvf apache-solr-1.4.1.tgz

Tomcat6 helye alapértelmezés szerint: /etc/tomcat6 /usr/share/tomcat6.Ha ettől eltér akkor a következő eléréseket eszerint kell módosítani.
whereis tomcat6

War fájl másolása a webapps könyvtárba,
Előbb a webapps kell létrehozni,mivel telepítéskor nem jön létre automatikusan.

mkdir  /usr/share/tomcat6/webapps/
cp apache-solr-1.4.1/dist/apache-solr-1.4.0.war /usr/share/tomcat6/webapps/solr.war

cp -R apache-solr-1.4.1/example/solr/ /usr/share/tomcat6/

Konfigurációs fájl készítése (mceditorral).

mcedit /etc/tomcat6/Catalina/localhost/solr.xml

Tartalma ez legyen:

3.lépés
Tomcat6 beállítása
Felhasználó,jogosultság beállítása
mcedit /etc/tomcat6/tomcat-users.xml

Tomcat újraindítása
/etc/init.d/tomcat6 restart

Működés ellenőrzése:
http://localhost:8080/manager/ megnyitása,belogolás.
Ha elindult,megnyitható a http://localhost:8080/solr/admin oldal.

4.lépés
Drupal 6 és az Apache Solr összekötése

Apache Solr modul letöltése innen:
http://drupal.org/project/apachesolr

Kicsomagolás:
tar xvfz apachesolr-6.x-1.2.tar.gz -C /opt/lampp/htdocs/mysite/sites/all/modules/

Letöltés:
http://code.google.com/p/solr-php-client/downloads/detail?name=SolrPhpCl...

Kicsomgolás:
tar xvfz SolrPhpClient.r22.2009-11-09.tgz -C /opt/lampp/htdocs/mysite/sites/all/modules/apachesolr/

Eredti schema.xml,solrconfig.xml átnevezése

mv /usr/share/tomcat6/solr/schema.xml schema.bak

mv /usr/share/tomcat6/solr/solrconfig.xml solrconfig.bak

Drupal solr modulból ezek másolása
cp schema.xml /usr/share/tomcat6/solr/conf/schema.xml
cp solrconfig.xml /usr/share/tomcat6/solr/conf/solrconfig.xml

Drupal alatt Apache Solr modul engedélyezése,majd a modul konfigurálása:

Solr host name: localhost
Solr port: 8080 (Tomcat alatt)
Solr path:/solr

0
0
szantog képe

+1 karakter = -2 sor. :)
illetve nem szúrunkbe csak úgy url-t, mert a későbbiekben meglepetés érhet. Használd az url függvényt.
$row->url = url($rovat . '/' . $row->created_year_month);

function MODULOM_views_post_render(&$view) {
  if ($view->name == 'archive_videok') {
    if(strlen($view->args[0]) > 0){
         $rovat = $view->args[0];
         foreach ($view->result as &$row ) {
            $row->url = $rovat .'/'. $row->created_year_month;
        }
     }
  }
}
0
0

----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.

pp képe

Nem működik mit jelent?

$all = db_query("SELECT COUNT(*) db FROM {node} n WHERE n.type = 'page' AND n.status = 1")->fetchObject();
print(" $all->db ");

vagy

$query = db_select('node', 'n')
          ->condition('type', 'page')
          ->condition('status', 1);
$alias = $query->addExpression('COUNT(*)', 'db');
$all = $query->execute()->fetchAssoc();
print(' ' . $all[$alias] . ' ');

szóval a hetesben sokkal egyszerűbb az sql lekérdezés. :)

(nem próbáltam, de kiindulásnak szerintem jó)

pp

1
0
peri22 képe

2 megoldás jutott eszembe így hirtelen:

Modulok súlya
elméletileg ezt meg tudod úgy oldani, hogy megváltoztatod a modulok súlyát, mert a csseket úgy pakolja be ahogy egymás után meghívódnak a drupal_add_css fv-ek. Amikor 2 modulnak azonos a súlya, akkor abc sorrendben fognak lefutni. Ezért kerül a superfish csse a popup message után.

Több lehetőséged is van a súlyok megváltoztatására

  1. Belépsz az adatbázisba és a system tábla weight oszlopát módosítod (pl a popup_message modult -1re állítod.)
  2. vagy kódból
  3. vagy modul segítségével

Css súlya
Talán így lenne szebb megoldani:

amikor bepakolod a csst, akkor lehet súlyt adni neki: https://api.drupal.org/api/drupal/includes!common.inc/function/drupal_ad...

a már bepakolt cssek súlyait így tudod módosítani:

https://api.drupal.org/api/drupal/modules!system!system.api.php/function...

  1. /**
  2.  * Implements hook_css_alter().
  3.  */
  4. function MYMODULE_css_alter(&$css) {
  5. $css['sites/all/module/contrib/blabla/css/blabla.css']['weight'] = 10;
  6. }
2
0
makgab képe

Majdnem jó. A JS működik.
my.js:

setInterval(function(){ refresh(); }, 3000);
 
function refresh() {
 
  // Vanilla JS
  var httpRequest = new XMLHttpRequest()
  httpRequest.onreadystatechange = function (data) {
    // code
    document.getElementById("mymodule-query-data-div").innerHTML = httpRequest.responseText;
    // document.getElementById("mymodule-query-data-div").innerHTML = data;
    }
    httpRequest.open('GET', '/mymodule/query/data/refresh')
    httpRequest.send()
 
}

De a query_data_refresh() fv. (a ....Controller.php-ban) a teljes oldalt adja vissza, nem csak a HTML TABLE-t (tehát a div-be mégegyszer bekerül az egész oldal tartalma. :)).
Mit rontok el? Hogyan lehetne megadni, hogy csak a html table legyen a responseText-ben?

upd.:
próbáltam így:

public funtion query_data_refresh() {
...
// return $build; 
return $build['mymodule_table'];
}

De így meg üres lett a div.

0
0
Illyés Edit képe

Jogos az észrevétel...:)

Akkor próbáljuk meg így:

case 1:
$block['subject'] = t('Random image');
$block['content'] = '';
$kepszam = 3;
$kepek = (image_get_random($kepszam, $tid = 0));
foreach ($kepek as $kep){
$block['content'] .=  l(image_display($kep, 'thumbnail'),'node/'.$kep->nid, array(),  null, null, FALSE, TRUE);
}
break;
0
0
Illyés Edit képe

A settings.php-ben írd be a domain nevet az ini_set('session.cookie_domain', $domain)-ben a $domain változó helyére:

/**
 * We try to set the correct cookie domain. If you are experiencing problems
 * try commenting out the code below or specifying the cookie domain by hand.
 */
if (isset($_SERVER['HTTP_HOST'])) {
  $domain = '.'. preg_replace('`^www.`', '', $_SERVER['HTTP_HOST']);
  // Per RFC 2109, cookie domains must contain at least one dot other than the
  // first. For hosts such as 'localhost', we don't set a cookie domain.
  if (count(explode('.', $domain)) > 2) {
    ini_set('session.cookie_domain', 'honlapneve.hu');
  }
}

U.i.: Itt a releváns szál a Drupal.org-ról. Megjegyzem, hogy nekem csak akkor jön elő a probléma, ha ServerAlias megadásával használok aldomaineket multisite Drupal installáció esetén. A honlapneve.hu helyett neked lehet, hogy mást kell beírnod, attól függően, hogy a szerver hogyan van konfigurálva.

0
0
Illyés Edit képe

A népszerű tartalmak blokkot alapesetben a statisztika modul készíti, és a legutóbbi 24 óra olvasottsági adatai alapján állítja össze a listát. A hook_cron:

<?php
function statistics_cron() {
  $statistics_timestamp = variable_get('statistics_day_timestamp', '');
 
  if ((time() - $statistics_timestamp) >= 86400) {
    /* reset day counts */
    db_query('UPDATE {node_counter} SET daycount = 0');
    variable_set('statistics_day_timestamp', time());
  }
 
  /* clean expired access logs */
  db_query('DELETE FROM {accesslog} WHERE timestamp < %d', time() - variable_get('statistics_flush_accesslog_timer', 259200));
}
?>

Van még ezen kívül a Views által készített blokk (alapcsomagban vagy Bonus Pack-ben, már nem emlékszem), de az is a statisztika modul adataival dolgozik, amit nem tud lenullázni. Úgyhogy ha cron futáskor lenullázódik a számláló, akkor valami nagy zűr van a stat modullal.

Más készen kapható olvasottsági blokk megoldásról nem tudok, de attól még lehet...

0
0
eaposztrof képe

rendben.. tehat a

<div class="form-item">
 <label for="edit-taxonomy-8">Forums: <span title="Szükséges mező." class="form-required">*</span></label>
 <select id="edit-taxonomy-8" class="form-select required" name="taxonomy[8]"><option value="">- Please choose -</option><option selected="selected" value="588">Az orvos válaszol</option><option value="589">-Ön kérdez, az orvos válaszol</option></select>
</div>
elemet igy kellene nem kotelezove tenni:
<?php
function eforum_form_alter(&$form_id, &$form) {
		drupal_set_message('form: '. $form_id, 'status');
 
	if ($form_id == 'forum_node_form') {
		$form['body_filter']['taxonomy[8]']['#required'] = FALSE;
	}
} ?>

de nem teszi. tehat ez sem mukodik:
$form['body_filter']['taxonomy[8]'] = array('#type' => 'hidden');
es ez sem:
$form['taxonomy[8]'] = array('#type' => 'hidden');

edit:
jujj, ez oszejott.. koszi.. igy:

	if ($form_id == 'forum_node_form') {
		$form['taxonomy'] = array('#type' => 'hidden');
	}
0
0

42

jade.mese képe

Gondolom, akkor D7-en is megy.

Leírom a kódot, hátha már az sem jó, és Ti megtaláljátok a hibát.

Drupal.behaviors.parkettklub2 = function (context) {
	(function ($) {
		$('.sf-item1').hover(function () {
				$('#menu-bg1').fadeTo(800, 100, "swing");
				return false;
		},function () {
				$('#menu-bg1').fadeTo(800, 0);
				return false;
		});
 
		$('.sf-item2').hover(function () {
				$('#menu-bg2').fadeTo(800, 100, "swing");
				return false;
		},function () {
				$('#menu-bg2').fadeTo(800, 0);
				return false;
		});
 
		$('.sf-item').hover(function () {
				$('#menu-bg3').fadeTo(800, 100, "swing");
				return false;
		},function () {
				$('#menu-bg3').fadeTo(800, 0);
				return false;
		});
	})(jQuery);
}

Most ezt tettem a script.js-be. Kipróbáltam úgy is, hogy az info file-ba beleírtam ezt:
scripts[] = script.js

De még mindig semmi nyoma, hogy működne... :(

0
0