Illyés Edit képe

<?php if ($node->field_also[0]['view'] == "nem") : ?>

Itt mit vizsgálsz? Mi az a "nem"?

a href="<?php print drupal_get_path_alias($node_url); ?>"

Kell a perjel az útvonal elé:

a href="/<?php print drupal_get_path_alias($node_url); ?>"

<?php if ($page == 0): ?>

Ez a feltétel csak akkor fog lefutni, ha a /fooldal címen nem node található, hanem valamilyen lista.

0
0
pp képe

a pager_query mint ahogyan a nevében is benne van lapokat tölt csak be, tehát az sql kérés végére oda rakja a megfelelő záradékot.

pár javaslat:
- a tábla neveket mindig tedd {} közé így akkor is fog működni a programod, ha tábla előtagokat használsz, vagy esetleg másik adatbázisban van pár táblád.
- ha db_rewrite_sql-t használsz, akkor a helyes használat 'FROM {node} n' majd a későbbiekben node.akarmi helyett a n.akarmi használata. A db_rewrite_sql lehetővé teszi ugyanis, hogy a moduloddal beépülj más modulok lekérdezésbe, vagy hogy más modulok legyenek hatással a te lekérdezéseidre (pl taxonomy_access). Ilyenkro feltételezi a rendszer, hogy a node táblára n néven hivtakozhat majd.
- db_rewrite_sql esetén ne használd a FROM tábla1, tábla2 formációt helyett inkább JOIN-t használj!
- teljesen felesleges a cikluson belül még egy node_load utasítást is kiadnod, ezzel jócskán megnövelve a feldolgozási idejét. A szükséges adatok ugyanis már ott vannak, csak a SELECT utáni részbe fel kell venni a field_szam_value oszlopot is
- csak így nem teszünk bele változót a lekérdezésbe
- link készítésére meg használd az l függvényt, ami ha be van kapcsolva a rövid webcím akkor is jól működik, no meg az aktuális linkhez is egy osztályt hozzáad. ;)

egyébként teljesen korrekt
a kód picit tupírozva:

$content_type = 'teszt_tartalom';
$output = '';
$result = db_query (db_rewrite_sql ("SELECT n.nid, cttt.field_szam_value FROM {node} n INNER JOIN {content_type_teszt_tartalom} cttt ON n.nid = ctt.nid WHERE n.type = '%s' AND n.status = 1 ORDER BY cttt.field_szam_value ASC"),$contet_type);
while ($node = db_fetch_object($result)) {
$output .= l($field_szam_value, 'node/' . $node->nid) . '<br>';
}
print $output;

pp

0
0
Paal képe

A példád alapján módosítottam a node.tpl.php-t.
preg_replace-szel kivettem a node-image részt (mert így 2x jelent meg) majd újra formázva megjelenítettem őket:

.
.
<?php echo preg_replace('!<div class="node_images">.*?</div>!','',$body);	?>
.
.
<?php print '<div class="node_images_page" id="mutasd-a-kepeket">'; ?>
<?php print $node->node_images; ?>
<?php print '</div>'; ?>
<?php print $links; ?>
.
.

Ami kérdésem még maradt: el akartam tüntetni a linkek közül az "Képtár megnyitása" (Open the image gallery) hivatkozást, de ez a következőképpen szerepel:

.
.
[node_images_gallery] => Array
(
[title] => Képtár megnyitása
[href] => node/319/image_gallery
)
.
.

Ezt hogy tudom elrejteni sminkből? Csak gányolással sikerült eddig (a modulban kikommenteztem).

Az Útvonal-lal ugyan ez a problémám. Nem igazán jötte rá, hogy lehetne sminkből elrejteni. Szintén modul buherálással tudnám csak megoldani (jelen tudásom szerint).

A blokkoknál beállítottam, hogy a node/*/image oldalakon ne jelenjenek meg: kep2.jpg. Így most már használható.

Köszi az eddigi segítséget!

Üdv, 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

Hojtsy Gábor képe

A Drupal 5-ben ez a kód állítja elő az űrlapnak ezt a részét:

  $period = drupal_map_assoc(array(3600, 10800, 21600, 32400, 43200, 86400, 172800, 259200, 604800, 1209600, 2419200), 'format_interval');
  $period['1000000000'] = t('Never');
  $form['watchdog_clear'] = array(
    '#type' => 'select',
    '#title' => t('Discard log entries older than'),
    '#default_value' => variable_get('watchdog_clear', 604800),
    '#options' => $period,
    '#description' => t('The time log entries should be kept. Older entries will be automatically discarded. Requires crontab.')
  );

Itt maximum a 2419200-as elem szerepel, ami pont a 4 hét. Megpróbáltam rákeresni a Drupal kiegészítések kódja között, de nem találtam olyat, amiben úgy tűnik, mintha az alap watchdog űrlapot változtatná a modul. Volt pár modul, ami használja ezt a 16 hetes értéket más időtartamok beállítására, de az más kérdés.

Keress rá, hogy a webhelyed melyik fájljában szerepel a 9676800-as szám. Valamelyikben ott kell lenni. Inkább valami rendes megoldást találjuk a barkácsolás helyett.

0
0
tiwaz képe

Persze, hogy kipróbáltam, de a modulok engedélyezése oldalon -bár felismeri a modult- kiírja, hogy
"This version is incompatible with the 6.0 version of Drupal core."

Namármost átírtam az info fájlt a Drupal 6 alatt már futó és hasonló Taxonews modul .info fájlját alapul véve tehát az Drupal 5-ös alábbi taxonomy_html.info fájlt

; $Id: taxonomy_html.info,v 1.1 2006/11/13 08:34:43 goba & tiwaz Exp $
name = Taxonomy HTML
description = "Provides vocabulary blocks and an overview page"
dependencies = "taxonomy"
package = "Core - optional"

na ezt átírtam a következőre:

; $Id: taxonomy_html.info,v 1.1 2006/11/13 08:34:43 goba & tiwaz Exp $
name = Taxonomy HTML
description = Provides vocabulary blocks and an overview page
dependencies[] = taxonomy
package = Content display
core = 6.x
php = 5.1
 
; Information added by drupal.org packaging script on 2007-10-28
version = "6.x-1.x-dev"
core = "6.x"
project = "taxonomy_html"

Na a bajok akkor kezdődtek, mikor bekapcsoltam a blokkot: teljesen üres azóta az oldalam. Tehát totál fehérség, nem jelenik meg semmi.

0
0
alippai képe

Valószínűleg elírás, vagy az hogy nem voltam kijelentkezve(és újra vissza) okozta az eddigi hibaüzenetet. Mostmár bíztatóbb a helyzet, bár még mindig hibaüzenet van: Signing failed!
Ezt az alábbi kódrészlet adja vissza:

  $temp_out = tempnam('/var/tmp', 'SIGNED_');
  exec('chmod a+r ' . $temp);
  exec('chmod a+r ' . $temp_out, $trash);
  $result = exec(variable_get('googleauth_path_to_xmlsec', '/usr/bin/xmlsec1') . ' sign --privkey-pem ' . $private . ' --pubkey-der ' . $public . ' --output ' . $temp_out . ' ' . $temp, $result);
  unlink($temp);
  $actual_response = file_get_contents($temp_out);
  if (!$actual_response) {
    drupal_set_message('Signing failed!');
    return FALSE;
  }
0
0

Lippai Ádám
young element

aboros képe

köszi, kipróbáltam, de sajnos nem segít ez sem. továbbra sem történik semmi, pedig a theme registry -be most is belekerül ez:

[makifajta] => Array
        (
            [template] => sites/all/modules/makifajta/makifajta-ctype
            [arguments] => Array
                (
                    [node] => 
                    [teaser] => 
                    [page] => 
                )
 
            [type] => module
            [theme path] => sites/all/modules/makifajta
            [theme paths] => Array
                (
                    [0] => sites/all/modules/makifajta
                )
 
            [preprocess functions] => Array
                (
                    [0] => template_preprocess
                )
 
        )

ennek ellenére hiába írok én bármit is a makifajta-ctype.tpl.php -ba, nem reagál a szisztéma. theme developer pedig továbbra is azt mondja, ha rákérdezek egy ilyen node -ra, hogy az előállításához a node.tpl.php -t használta és candidate template a node-makifajta.tpl.php

kezdek begolyózni.

ha jól értem a dolgokat, semmi mást nem kell tennem, csak a modulban megvalósítani a hook_theme() -et, aminek egy tömböt kell visszaadnia a modul smink-implementációival.. ebben a tömbben tömbök kell legyenek, ha ezek közül valamelyikben adott a 'template' => 'example', akkor ez egy template implementálás és a drupal a modul könyvtárában fogja keresni 'example.tpl.php' -t és azt fogja használni a megjelenítéskor.. valamit nagyon elrontok, ennek működnie kellene.

és még az is fura, hogy ha mondjuk ezt a makifajta-ctype.tpl.php -t átmásolom valamelyik smink könyvtárába, mondjuk garland, akkor az már nem kerül bele a theme registrybe, a [theme paths] közé, pedig ha jól értem be kéne neki. valamit kihagyok. nem kell semmi más hurkot megvalósítani, hogy működjön ez?

0
0

-
clear: both;

Pál úr képe

Egyelőre teljesen tanácstalan vagyok. A menü más sminkkel jól megy, az enyémmel nem.

	<div id="me1">
        <?php if (isset($primary_links)) : ?>
			<?php print custom_primary_links($primary_links); ?>
        <?php endif; ?>
        <?php if (isset($secondary_links)) : ?>
			<?php print theme('links', $secondary_links, array('class' => 'links', 'id' => 'subnavlist')); ?>
        <?php endif; ?>
 
	</div>
Garland sminkkel jól megmutatja a második szintet, a saját sminkkel nem. A
page.tpl.php

semmilyen más infomrációt nem tartalmaz a

$secondary_links

-re vontakozóan, a

template.php

csak a

$primary_links

formázását tartalmazza (és mondjuk az hibátlanul megy is), az info fájl meg ennyi összesen:

name = Próba
description = Mind a Garland
version = VERSION
core = 6.x
engine = phptemplate

Zsákutca. :)

Szerk: Ráadásul a  print_r($secondary_links); szerint a tartalom a saját sminkemmel:

Array( )

. Egyre érdekesebb.

0
0
aboros képe

ezt írnám a template.php -ba:

function a3_atlantis_menu_local_task($link, $active = FLASE) {
  //ha /user/% oldalon vagyok es nincs joga felhasznalok adminisztraciojahoz es a link /track akkor extra class adok
  if (arg(0) == 'user' && is_numeric(arg(1)) && !user_access('adminster users') && strpos($link, '/track')) {
    return '<li class="tracker no-admin">'. $link ."</li>\n";
  }
  //ellenkezo esetben marad az eredeti felallas, ha aktiv a tab, akkor active classt kap
  return '<li '. ($active ? 'class="active" ' : '') .'>'. $link ."</li>\n";
}

ezután a cssből így céloznám:

li.tracker.no-admin {
display: none;
}

a kerdezo konkret sminkje az a3_atlantis amire az eddigi megoldas nem is mukodik.

ez szerintem nem lehetséges, a theme_menu_local_task() miért ne működne a3 atlantis (vagy bármilyen egyéb) sminkkel?

0
0

-
clear: both;

Bálint képe

Szia! Nincs szükség itt mysql_connect-re, és a mysql_db_query-t se használd, ezekre a drupal api mind megoldást nyújt!
Ezenkívül a $sor nevű tömbödet is rosszul akarod feltölteni, ez a ciklus így nem csinál semmit.
Valamint a teszt_select form elemnél az '#options' rész is rosszul van megadva.

Ezt a kódrészletet:

<?php
 
mysql_connect("localhost", "root");
$eredmeny = mysql_db_query ("db_name","SELECT nid FROM node LIMIT 0 , 30 ");
while ($sor = mysql_fetch_array ($eredmeny));
 
?>

cseréld le erre:
<?php
 
$queryResults = db_query("SELECT nid FROM {node} LIMIT 30");
while($line = db_fetch_object($queryResults))
{
  $list[] = $line->nid;
}
 
?>

És a már említett '#options'-ös sort erre:
<?php
  '#options' => $list,
?>

Így már működni fog.
Az itt használt számodra ismeretlen függvényekre rákereshetsz az api.drupal.org-on.
0
0