Kepek megjelenitese jobb oldalon

zoliky képe

Van egy drupal alapu oldal.
Az oldalon a tartalmat bal oldalon szeretnem megjeleniteni es jobb oldalon kepeket szeretnek latni. Mindegyik tartalomnal mas kepek vannak! Egy pelda: http://innoforce.com/DE/

Ezt hogyan tudnam megcsinalni drupal alatt? A tartalmat bal oldalra usztatom (float) es a kepeket pedig jobb oldalra ? Az usztatast mikor valositom meg ?

Koszonom!

Drupal verzió: 
Fórum: 
realdream képe

A belinkelt oldal táblázatban jeleníti meg a szöveget és a képet.
A legegyszerűbb megoldás, ha a tartalom szerkesztésnél a beküldő teszi be a képet egy táblázatba. (Vannak nagyon jó szerkesztők pl. TinyMce amiben ezt úgy lehet megtenni mint pl. Wordben)

0
0

-------------------------------
http://www.realdream.hu

gyurex képe

Vagy ha csak te szerkeszted az oldalt, akkor így is megoldhatod.

style.css

img.job {
    float: right;
    margin-top: 0em;
    padding: 0px;
    border: 0px solid #000;
}

Tartalom beküldésénél:
A class="thickbox aktiválja a thickboxot.

<a href="files/img/kep.jpg" title="" class="thickbox"/>
<img src="files/img/kep.jpg" title="" class="job" width=""/>
</a>

Vagy ez nálad nem megoldás? Azért beírom, pont a napokban kérdezte egy barátom, hátha valakinek jó lesz a jövőben;)
Meg egy kicsit engem is érdekelne, ez nagyon gáz megoldás? Persze csak ha egyszemélyes a szerkesztő tábor.
0
0
sgabe képe

Jobb is így, mint a feljebb említett táblázatos megoldás. Elég a szerkesztésnél a képhez hozzárendelni a job, a hivatkozáshoz meg a thickbox osztályt és kész is, ezt jó eséllyel bárki meg tudja csinálni.

0
0
zoliky képe

A gond az, hogy nem en rakom bele a tartalmat, es valoszinuleg az aki belerakja azt sem tudja mi az, hogy float :(

0
0
eaposztrof képe

http://szovegszinhaz.hu/szinhaz/repertoar/caryl-churchill-sokan-number

ezen az oldalon a Node images modult hasznaltam, be lehet allitani hogy hol jelenjen meg a kep. jelen esetben a tartalom elottre pakolod, es css-ben:

.right-img { float:right; }

marginnal es borderrel lehet tovabb szepiteni es pozicionalni.

ne usztasd a tartalmat, csak a kepet!

0
0

42

pp képe

CCK-val felveszel egy kép mezőt amit aztán oda úsztatsz ahova akarod a sminkben.

pp

0
0
zoliky képe

A cck tud kep mezot kezelni vagy kell az images module is ?

0
0
Balogh Zoltán képe

imce + imce_image

0
0
zoliky képe

ezek a CCK-val mukodnek ?

0
0
aboros képe

ezek is cck képkezeléssel kapcsolatos modulok. ha megnézed a drupal.org/project/Modules oldalon saját kategóriája van a CCK -nak, egy rakás modul épít rá, épül bele. érdemes elszöszölni arrafelé egy kellemes vikendet, vidám tud lenni.

image module egyikhez se kell, amit eddig írtak.

én általában az cck + imagefield + imagecache (+ lightbox2 ?) kombinációt használom és már össze is raktam egy egész jó kis 'majdnemfiltert', aminek a használatát r=1 sugarúakkal is könnyű megértetni, majd megmutatom egy cikkbe most már..

0
0

-
clear: both;

zoliky képe

Sok modszert talaltam itt :) kedzek osszezavarodni. A lenyeg az, hogy valaki fel tudjon rakni tobb kepet CSS kodolas nelkul a szoveg melle.

Igy kepzeltem el: http://www.innoforce.com/de/
Az en oldalam nem tablazatos!

0
0
zoliky képe

aboros, az imagefield-et drupal 6.x-en hasznalod ? Latom, hogy meg elege alpha alapotban van. En felraktam, remelem nem lesz gond vele!

0
0
aboros képe

alfa még, de jóideje használom több oldalon is hiba nélkül.

0
0

-
clear: both;

zoliky képe

vannak problemak is peldaul nem torli a kepeket a hdd-rol, es nem rakja be az "alt", "title" tagokat. Ha esetleg kideritem a problemakat bekuldok egy patch-ot.

0
0
aboros képe

ezek ismert hiányosságok, megtalálod őket az issue -k között. valamelyikre talán patch is van. a fileok nem törlése a filefield hiányossága.. az alfa az alfa. ez van.

szerintem most már hagyjuk békén ezt a szálat, mert az alap probléma már bőven megoldódott. további kérdéseknek és problémáknak nyissunk új szálat.

0
0

-
clear: both;

zoliky képe

Palócz István, fent van a CCK + image field + fileupload. A kepeket feltoltom es elohivom a tartalomban (inline). Most floatolom. Remelem erre gondoltal te is.

0
0
zoliky képe

egyebkent ha nem usztatom a tartalmat akkor a kep a tartalom alatt jelenik meg jobb oldalon. Most mit tudom csinalni ?

A kepek a tartalomban vannak.

0
0
gyurex képe

hanem az img-t

0
0
aboros képe

az nem tudom mi.

cck + imagefield (ennek kell majd a filefield is)
van egy saját (vagy nem saját) tartalom típusod, felveszel egy 'image' típusú mezőt és beállítod amit lehet. (csomó dolgot lehet állítani, nézd át türelmesen, figyelmesen)

ezután, mint bármelyik másik cck mezőt, ezt is oda helyezed (súlyozod) ahova akarod, a tartalom típus beállításánál a 'manage fields' fülön. húzd a képmeződet a 'törzs' elé a listában.

a 'display fields' fülön válassz a mező megjelenítési lehetőségei közül. praktikus a 'label' -t rejtettre állítani.

tölts fel egy ilyen node -ot és csatolj hozzá képeket az új meződdel. láthatod, hogy a képek a törzs előtt jelennek meg. az egész mezőt float -old el jobbra (kapjon bal-margót is) és kész is vagy. továbbá, sminkje válogatja, de általában az ilyen float -os megoldásoknál valamilyen módon később tanácsos törölni a float -ot, különben előjöhet olyan helyzet kevés szöveg+sok kép kombinációnál, hogy a következő node is belecsúszik a float -ba. (mondjuk törlöd a float -ot a meta -ban így: .node .meta {clear: right;} )

persze ugyan úgy jó megoldás lehet, hogy a törzs alatt hagyod a képmezőt és a törzset float -olod balra. ez már részletkérdés, eléggé helyzetfüggő, meg ugye ízlések és pofonok...

(amúgy meg nem is én vagyok a pp úgyhogy mit szemétkedek itt;)

0
0

-
clear: both;

gyurex képe

Az is jól jöhet,
CCK + ImageField + ImageCache aztán ahogy mondtad "Most floatolom."

0
0
zoliky képe

A kep csak akkor van jobb oldalra igazitva ha igy csinalom: http://css.maxdesign.com.au/floatutorial/tutorial0203.htm

Szoval a CCK kep mezoket a tartalom felett tartom. Ez mondjuk nem a legszebb megoldas nekem. Miert ne lasa a felhasznalo eloszor a "title" es a "body" mezoket ? Azutan pedig a CCK-t.

0
0
zoliky képe

Hogyan tudnam floatolni, hogy a szoveg a tartalom reszbol ne nyujon bele a jobb oldali kepek savba ?

Peldaul ezen az oldalon lathato: http://www.innoforce.com/de/soft.htm a szoveg tobb mint a kep, megsem nyulik bele a jobb oldali reszbe.

Tudnatok kicsit segiteni, nagyon halas lennek.

A CSS-em korubelul igy nez ki:

<div id=#tartalom">
  <p>A sok szoveg</p>
  <div id="#cck-image">
  </div>
</div>

Ilyen esetben, hogy a CCK divje a tartalom-ban van mit tudok csinalni ?

0
0
aboros képe

említett template_preprocess_node -ban, újraépíted a content értékét úgy, hogy a szöveg egy saját divbe kerüljön. ennek adsz meg majd egy fix szélességet vagy margót vagy amitakarsz. ;)

.tpl.php -hoz nem is nyúlsz egyátalán!

0
0

-
clear: both;

aboros képe

na itt aztán full kontroll van már. a $vars egy tömb, amiben minden benne van, amit a .tpl.php meg fog kapni. a függvényt a template.php -ban kell megvalósítanod sminkneve_preprocess_node($vars) módon. nem kell semmit visszaadnia vagy kiprintelnie. kedvedre mahinálod benne a $vars tömb tartalmát és kész. nem kell visszaadni a tömböt.

ebben a függvényben a $vars['content'] -et kellene újraépítened, nem lesz nehéz, az egész node benne van a $vars['node'] -ban.

0
0

-
clear: both;

zoliky képe

Ertem de a cel mi lesz ? Kiszedni a CCK div-et a tartalom-bol, igy elhelyezni? :

<div id="tartalom">
  a tartalom ball oldalon
</div>
 
<div id="image-cck">
  a kepek jobb oldalon
</div>

Megprobalom a preprocess-t, semmi gond. Azt hiszem boldogulni fogok csak a celt keresem :)

0
0
aboros képe

azt én nem tudhatom érted... :)

(milyen sminket használsz? élő linken meg tudod mutatni ezt?)

0
0

-
clear: both;

zoliky képe

mindjart feltoltom a dolgokat.

0
0
zoliky képe

Itt lathato az oldal: http://innoforce.progra.ro/ (user: demo, pass: demo) ha esetleg szeretnel belenezni.

Ugy kene elhelyezni mint az eredeti oldalon. A tartalmat bal oldalon a kepeket pedig jobb oldalon. Az a lenyeg, hogy egyik ne nyujon a masikba.

Szoval nem vagyok olyan buta, hogy ne tudjam ezt:

#bal {
  float: left
  width: 500px;
}
 
#jobb {
  float: left:
  width: 200px;
}

De nem tudom ha ez a megoldas es eloszor is a #jobb div-et ki kene szedni a content-bol.

Meg lehetne azt is csinalni, hogy ha esetleg nincsenek kepek jobb oldalon akkor a tartalmat kinyujtani teljesen ? Bar ez nem egy olyan fontos dolog, csak gondoltam ra.

Egyebkent van az oldalon egy "innoforce" tartalom tipus, azt hasznalom a CCK-val.

0
0
Paal képe

Az Image meződ előbb legyen, mint a "body" rész (a tartalom típus beállításánál).

Amúgy téged (a feltöltőt) mit zavar, hogy a kép hamarabb van, mint a "body" rész (kizárólag feltöltéskor)?

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

zoliky képe

Az, hogy a tartalom belenyulik a jobb oldali reszbe, nezd meg meg egyszer: http://innoforce.progra.ro/

0
0
Paal képe

Szerintem a sminked rossz.

Ezen az oldalon teljesen rendben van pl.
http://merenye.carp.hu/

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

zoliky képe

A CCK kep egy kulon div-ben van de a tartalom nincs.
Itt van a problema:

<div id="tartalom">
  <p>test</p>
 
  <div id="cck-kep">
  a kepek
  </div>
</div>

Igy kene kinezen:

<div id="tartalom">
  <div id="bal">
  <p>test</p>
  </div>
 
  <div id="cck-kep">
  a kepek
  </div>
</div>

Es ha floatolom a ket divet akkor mukodne. Nem tudom, hogy kell beszurni a #bal div-et. A preprocessal probaltam de a $vars['node'] tartalmaza az egesz tartalmat a kepel egyutt.

Igy az is mukodne peldaul ha nincsenek ott a kepek a masodik div (cck-kep) eltunik es az elso div-et ki tudom nyujtani egy width: 100%-al.

Szoval ugy kell elkepzelni, hogy nekem ket sav kell. Az eredeti oldalon http://www.innoforce.com/de/ tablazatal van megoldva. Nekem egy egyszeru CSS float: right nem eleg ! Szuksegem van ket savra (bal es cck-kep), hogy tudjam oket elkuloniteni.

0
0
aboros képe

nem a .tpl.php -t feltúrni, hanem szépen az előfeldolgozóba újraépíteni a $content.

kb így gondoltam:

function playground_preprocess_node($vars) {
  $node = $vars['node']; #lusta aboros
  if (isset($node->field_image[0])) {
    $newcontent = '<div class="nodebody">' . $node->content['body']['#value'] . '</div>';
    $newcontent .= '<div class="images">';
    foreach ($node->field_image as $key=>$image) {
      $newcontent .= '<div class="image">' . $image['data']['view'] . '</div>';
    }
    $newcontent .= '</div>';
    $vars['content'] = $newcontent;
  }
}

persze ennél sokkal kifinomultabban is lehet, ez csak az irányt mutatja.

ettől a $content -be két div lesz, egyik a .nodebody másik meg az .images, azon belül .image divekbe vannak a képek, amik úgy jelennek meg, ahogy azt a cck admin felületén te beállítod a display fields fülön. oda floatolsz, ahova akarsz.

0
0

-
clear: both;

zoliky képe

Koszonom a valaszt! Remelem nem haragszol meg, de elhibaztam kicsit a dolgokat. Most igy jelenik meg a tartalom:

<div id="node1">
  <h2 class="title">Tartalom cime</h2>
  <div class="meta"></div>
  <div class="content"></content>
    <div id="nodebody">
    .....
    </div>
 
    <div id="images">
    .....
    </div>
</div>

A problema az, hogy a kep nincs egyvonalban a tartalom cimevel. Meg lehetne oldani igy:

<div id="node1">
  <div id="tartalom">
   <h2 class="title">Tartalom cime</h2>
   <div class="meta"></div>
   <div class="content"></content>
  </div>
 
  <div id="images">
  kepek
  </div>
</div>

Ezt ugye csak tpl.php fajlal tudom csinalni ? Mert megprobaltam es mukodik de nem tudom ha helyes a megoldas.

Vagy esetleg probaljam meg az ".images" class-on a margin-top: -20px trukott ? Akkor mukodne a te peldad is.

0
0
aboros képe

vagy beletúrsz a .tpl.php -ba, az is jó.

vagy: az előfeldolgozóban új értékeket is fűzhetsz a tömbhöz, nem csak módosíthatod azt. amiket hozzáadsz, a kulcsuk alapján éred majd el a .tpl.php -ban...
kábé így:
template.php:

function playground_preprocess_node($vars) {
  $node = $vars['node']; #lusta aboros
  if (isset($node->field_image[0])) {
    $vars['content'] = $node->content['body']['#value'];
    $images = '';
    foreach ($node->field_image as $key=>$image) {
      $images .= '<div class="image">' . $image['data']['view'] . '</div>';
    }
    $vars['images'] = $images;
  }
}

ennek hatására a .tpl.php -ban lesz egy $images változód, ami egy sztring és div class='image' tegek között benne vannak a képek, a $content -ben meg már nincsenek benne.

node.tpl.php nagy vonalakban:

<?php if ($images) : ?>
  <div class="images"><?php print $images; ?></div>
<?php endif; ?>
<h2><?php print $node->title; ?></h2>
<div class="content">
  <?php print $content ?>
</div>

(pl) style.css:

.images {
float: right;
margin: .5em 0 0 1em;
}
0
0

-
clear: both;

zoliky képe

koszi, hat profi vagy! le a kalapal elotted! Remelem en is meg fogom mindezt tanulni! Muszaj lesz.

0
0
zoliky képe

Valaki meg tudna modnani mar, hogyan szedem ki azt a nyamvat cck div-et a tartalmi reszbol.
Beleraktam ezt a node.tpl.php fajlba:

<pre>
<?php print_r($node); ?>
</pre>

Ezt nyomja ki:

[content] => Array
        (
            [field_image] => Array
                (
                    [#type_name] => image
                    [#context] => teaser
                    [#field_name] => field_image
                    [#post_render] => Array
                        (
                            [0] => content_field_wrapper_post_render
                        )

Valahogy meg kell szuntenti azt a "field_image" vackerajt, es en szeretnem kinyomni egy valtozoval kulon.

a node.tpl.php fajlom igy nez ki:

<div id="bal">
  a  node tartalma
  a nyavajas $content ide nyomja ki a CCK kepet.
</div>
 
<div id="jobb">
  Ide kell rakni a CCK kepet
</div>
0
0
zoliky képe

Ok, azt hiszem sikerult megoldani a problemat!

0
0