gyuri2012 képe

<?php if ($node->ckk_mezo_decimalis_ertek[0]['view'] == "2220m") : ?>
    <p><div class="field field-type-text field-field-ckk_mezo_decimalis_ertek">
  <div class="field-items">
      <div class="field-item"><?php print t('2,22km')  ?> </div>
  </div>
</div></p>
<?php endif; ?>

Bocs Krisz!
De a lényeg, hogy én (biztos mert kezdő vagyok a témában) contemplate-be irnék olyan kódót, ami átalakítja és az átalakítottat írja ki.
Pontosan viszont nem tudom, nem alakítgattam még ilyesmit php-val.
0
0
jodri2003 képe

Próbáld a következőt:

<?php
if (($_POST['submitted']['nev1']) == ($_POST['submitted']['nev2']) ) {
        form_set_error($_POST['submitted']['nev2'], t('A két név nem lehet egyforma'));
    }
?>

A Webform tulajdonságai között a "Redirect POST Values" opciót kapcsold be.
A fenti kódot az "Additional Validation" mezőbe rakd.
0
0
breki képe

Próbáld meg így:

 
#secondary .menu-277 {
	background-color: transparent; /*#fff */
	background-image: url(images/akarmi.jpg);
	background-repeat: no-repeat;
	background-position: center top;
	width: 100px;
	height: 50px;
	padding: 10px;  
}

Az oldal forrásában megnézed, hogyan azonosítja a menüt. Valahogy így néz ki:

<ul><li class="menu-277 first last">.... 

Utána a felső css kódban átírod és kész.

0
0
tolmi képe

Előszöris a felvetésed Drupal része rendben van, így kell ezt megoldani. Ám a PHPs részével súlyos hiányosságok vannak azt hiszem.

Előszöris olyan hogy session_write() nincs sem a PHP-ben sem pedig a Drupalban. (mellesleg session_read() sincs). A session-t egy globális változó reprezentálja a PHP-ben, amelynek neve $_SESSION. Minden amit ebbe teszel (persze csak ha el van indítva a sessionkezelés, de ezt a Drupal megteszi helyetted automatikusan) az a futás végeztével megmarad és újra elérhető lesz a megadott session-ben egészen addig amíg a session le nem jár. (Olvass utána, hidd el megéri)

Mivel a $_SESSION egy PHP változó, ezért azt teszel bele amit akarsz. Így akár tömböt is. Arról azonban ne feledkezz meg hogy nem csak te használod a $_SESSION változót és ha felülírod más modulok adatait, meglepő dolgok fognak történni (főként rossz dolgok). Éppen ezért a $_SESSION egy tömbváltozó és a modul nevével prefixelni kell mindent amit beleteszel (namespacing egy barbár ám de hatékony módja).

Pl.:

$_SESSION['modulomneve'] = array(
  'egy' =>1,
  'kettő' => 2,
);
0
0

--
Tolmács Márk
Drupal bandita

pp képe

Sziasztok!

Kérlek olvassátok el a drupal coding standard-ot valamint a "hogyan írjunk biztonságos kódot" című részt!

    $result = db_query("SELECT n.title FROM node n WHERE n.title LIKE '%%%s%%' AND n.status = 1", $keresendo_szo);
 ...
 $result = db_query("SELECT n.title FROM node n WHERE n.title LIKE '%s%%' AND n.status = 1", $node);

Ez a két javítás elengedhetetlen a kód biztonságos működéséhez!

Pár javaslat:
Javasolt a {} burkoló használata a táblanevek körül.
Én az autocomplet függvényben a $node helyett valami beszédesebb változónevet használnék (pl. $szotoredek) mivel a $node változó általában egy egész nodeot tartalmaz.
Ezt a fajta megoldást csak kis, pár ezres node darabszámnál használnám. Felette valami optimálisabb megoldásra lesz szükségetek.

pp

0
0
fox mulder képe

A tárgyban jelzett függvényt kell implementálni a sminked template.php fájljában. Első körben pl. így:

<?php
function sajatsmink_item_list($items = array(), $title = NULL) {
  drupal_set_message('<pre>' . print_r($items, TRUE) . '</pre>');
}
?>

Majd az eredeti kódját átmásolva módosíthatod, ahogy akarod. Csak kapkodva tudok most utánanézni a drupal API-ban, de gyanús, hogy ez a függvény mindenféle listák kiíratásakor használatos, vagyis ott is meg fog változni a kimenet, ahol nem szeretnéd.
0
0

Fox Mulder

Jenő képe

A page.tpl.php fájlból készíts egy másik fájlt page-front.tpl.php néven (ez teljesen megegyezik az eredeti page.tpl.php-vel, nincs benne keret!).
A page-node.tpl.php-ba hagyd benne a címet (vagyis tedd vissza - szerintem), tedd bele a keretet (ez utóbbit meg is csináltad).
A node.tpl.php-ban kell variálni a kerettel mégpedig úgy, hogy levesszük, ha full page-nézetben vagyunk. A keret kezdő és záró tagja köré kell tenni ezt a kódot:

<?php if (!$page): ?><div class="box"><?php endif; ?>
...
<?php if (!$page): ?></div><?php endif; ?>

Gyurstár ürítés kell!
0
0
pakati képe

Sziasztok!
Próbálgatom még mindig. Mivel a fent említett php-s hármast kell elhelyezni a drupalos oldalon belül, ezért gondolom, a page.tpl fájlt kell módosítgatnom. Így ezt írtam az első sorába.

<?php if ($title=="Albumok") include("http://www.domain.hu/fotoalbum/gallery.php");?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML ...

Próbáltam relatív útvonallal is, de sajnos a második (head-es részt) akkor sem találja a rendszer:
<div id="header">
<?php if ($title=="Albumok") the_gallery_head(); ?>
...

Úgy gondoltam, ha ezek megvannak, akkor már elég csak a node-ban kiadni a harmadik phps parancsot.
Bármi ötlet? Köszönöm...
0
0

//pakati

f.sor képe

Köszi, ez tényleg segített egy kicsit. Két fül jelenik meg:
Fejlesztő betöltés, Fejlesztő megjelenítés (vszleg angolul: Load, View)
Nos a Load fülön nem találom a mezőt, ellenben a View fülön ott van:

nid (String, 4 characters ) 1608
...
content  (Array, 7 elements) 
   body  (Array, 2 elements) 
   ...
   image_attach  (Array, 2 elements) 
     #weight (String, 2 characters ) 40
     #value  (String, 377 characters ) <div class="all-attached-images"><div style="wi...  

A legutolsó sorban lévő értéket kellene elérnem. De:
a content változót már nem éri el a programrészlet.
Az olyan változókat, amik a Load fülön jelennek meg, el tudom érni.
0
0
makgab képe

Hozzáadtam a .info fájlhoz (nem eredeti smink) a css-t.
A sminkeknél elmentettem, rendben is van. Az oldal forrásában látszódik is a hozzáadott css és a tartalma is:

/* mycontents-style.css */
h2.art-PostHeader {
  font-size: 4px;
}
 
/* probaltam ezzel is */
 
a.active {
  font-size: 4px;
}

De nem változott a böngészőben a méret. Igazából ez volt a firebug-ban:

<h2 class="art-PostHeader">
 <a class="active" href="...">Ez a hozzászólás tárgya</a>
</h2>

G.

0
0