Szia Mindenki!
Egy egyszerű, ám számomra mégis bonyolult kérdésben kérem a segítségeteket.
A weboldalalom mindössze 2 csoport létezik. Nők és férfiak. Azt szeretném, ha a felhasználói nevük mindenhol: a férfiaké kék színű, míg a nőké piros lenne.
Egy korábbi részben találtam egy javaslatot egy kóddal, amit a sminkek fájl könyvtárába kellett másolni. Megtettem, de az eredmény az lett, hogy a weblap fejrészén egy kódolt fekete szöveg jelent meg. Nyilvánvalóan elszúrtam valamit. De mit?
A kód a következő volt:
function theme_username($object) {
if ($object->uid && $object->name) {
// Shorten the name when it is too long or it will break many tables.
if (drupal_strlen($object->name) > 20) {
$name = drupal_substr($object->name, 0, 15) .'...';
}
else {
$name = $object->name;
}
if (user_access('access user profiles')) {
$output = l($name, 'user/'. $object->uid, array('title' => t('View user profile.')));
}
else {
$output = check_plain($name);
}
}
else if ($object->name) {
// Sometimes modules display content composed by people who are
// not registered members of the site (e.g. mailing list or news
// aggregator modules). This clause enables modules to display
// the true author of the content.
if ($object->homepage) {
$output = l($object->name, $object->homepage);
}
else {
$output = check_plain($object->name);
}
$output .= ' ('. t('not verified') .')';
}
else {
$output = variable_get('anonymous', t('Anonymous'));
}
return $output;
Tud valaki segíteni, hogy hogyan csináljam? Jó ez a kód egyáltalán nekem?
Előre is köszönöm
Adrienn
A kóddal nincsen semi baj
Szia!
De a kód nem tartalmazza a kívánt funkcionalitást.
Látszik, hogy előbb mindig megpróbálod magad megoldani a problémát.
Rendkívül dicséretes! :-)
Most nincs időm megcsinálni.
$gender = '';
$role_id_male = n;
$role_id_female = x;
...
if ($object->uid) {
if (array_key_exists(n, $object->roles)) {
$gender = 'male';
}
else if (array_key_exists(x, $object->roles)) {
$gender = 'female';
}
}
$attributes = array('title' => t('View user profile.') );
if ($gender) {
$attributes['class'] = $gender;
}
...
$output = l($name, 'user/'. $object->uid, $attributes);
a homepage-es résznél is
Majd holnap este összerakom, ha addig senki.
Addig keresd ki a felhasználói csoportok azonosítóit.
/admin/user/roles útvonalon "jogosultságok szerkesztése" linkekre klikkelve. (vagy csak fölé tartod az egeret)
A kóddal nincs semmi baj
Adrienn
Addig is köszönöm. Kikersem, de ez egy társkereső oldal és naponta több új regisztráló van. Itt több ezer névvel kell majd számolni, mindhez nem tudom a kódot, jelenleg 81 felhasználó van. Tényleg mindenkié kell? Valami más megoldás fog ide kelleni.Nem?
Adrienn
Bocs- mea culpa 1000
Adrienn
Felhasználói csoport kettő van..viszont több oldalon jelenik meg..na átnézem mit is kérsz igazából.
Megtaláltam.
Tehát férfi admin/user/roles/acces/16
nő admin/user/roles/acces/15 a jogosultságok szerkesztésénél.
Nagyon jó lesz holnap este is, én már napok óta nyúzom mindhiába egyedül, egy-két nap igazán nem számít, lényeg az eredmény.
Köszönöm!
Adrienn
Más megoldás is szóba jöhetne.
Az elmúlt hetekben több fórum téma is született a felhasználói profilokkal kapcsolatban. Érdemes lenne azokat átolvasnod.
Jelen topikod alapján, nem értem hogy egy felhasználó hogyan tudja megadni magárol hogy melyik nemhez tartozik.
-----
A kérdésed megoldásához a felhasználói nevek megjelenítését végző smink függvényt kell módosítani.
theme_username()
A kód amit küldök az kizárólag csak a te egyedi esetedre fog müködni!
A web helyeden használt sminknek a könyvtárában van egy olyan fájl hogy: template.php
A végéhez hozzá kell adni ezt:
Egy kicsit változtatni kell rajta. Ez első sora jelenleg így néz ki:
function garland_username($object) {
A garlad helyére a te sminked nevét kell írni. Tehát:
function atesminkedneve_username($object) {
---
function phptemplate_username($object){
jobb megoldás, ha phptemplate-t használunk, mert így kényelmesebb lesz az életünk, ha átnevezzük a sminket, vagy alsminket alakítunk ki.
pp
---
(Ha már volt ilyen függvény akkor bukik az egész.)
Szintén a sminked könyvtárában van egy olyan fájl hogy: style.css
Annak a végére pedig add hozzá ezt:
Ez csak példa a dizájnra. Izlés szerint lehet rajta változtatni.
(Böngésző gyorstárazás megviccelhet)
Remélem jó lesz.
Hálás köszönetem.
Adrienn
Onnét lehet tudni regisztráláskor, hogy férfi, vagy nő-e az illető, hogy eleve be kell pipálnia és máris ott van az adatlapján ez az információ is. A profilmezőt több adatra bővítettem választólistákkal is. Regisztráláskor ezekre válaszolni kell.
Aki elfelejti, annak én jelölöm be, így eleve 1-1 csoportban van mindenki. Vagy férfi, vagy nő.
Nagyon kedves vagy, hogy amit igértél, azt időre meg is csináltad.
Gratulálok Neked, mint embernek és mint szakembernek is.
Köszönöm.
Adrienn
Szívesen
Gyanítom, hogy ezért még nem fogom megkapni az informatikai Nobel-díjat.
Az élet sötét oldala
Nekem bluemarine a sminkem és egyszerűen nincs lehetőség a könyvtárba másolni a kódot.
A gralandnak van, viszont én már remekül beállítottam mindent a bluemarine sminkhez, ami a többihez nekem nem tetszik.
Így jártam, keresem tovább a megoldást..
http://tars.myip.hu
Adrienn
Adrienn
És kisüt a nap
Nem értem mi nem megy ;)
1. fogsz egy olyan szerkesztőt, ami tud utf-8 kódolást(ezen már ugye túl vagy, tehát van egy pspad editorod, vagy valami hasonló)
2. létrehozol benne egy új fájlt
3. belemásolod Sweetchack által készített kódot
4. a függvény nevében "garland_usr.." a garland szót lecseréled bluemarine szóra. (kismókusok phptemplate szóra is lecserélhetik így a kódrész bármelyik sminkel fog működni(pláne alsminkeknél ;)), legalábbis ott, ahol nincs már ilyen függvény eleve a phptemplat-ben.)
5. elmented a smink könyvtárába (phptemplate) template.php néven.
5a. örül
5b. nem megy, akkor hibaüzenet idemásolásával együtt kérdez.
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
Nem süt a Nap...
Megcsináltam, bemásoltam, átjavítottam bluemarine-ra, mentettem php.template és ugyanaz történt,
a fejrészen megjelent egy többsoros feke, kódolt szöveg..., valami nem jó..
Azért köszönöm..:((
Adrienn
Adrienn
megoldás érdekel
Vagy csak megosztottad velünk bánatodat?
Mi lenne, ha a rébuszok helyett, idemásolnád azt a többsoros fekete kódolt szöveget??
Persze ha csak sopánkodni akarsz és a megoldás nem érdekel, akkor ne másold ide.
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
A megoldás érdekel
Ide fogom másolni, de jelneleg nem akarom kitenni a "karbantartás miatt zárva" szöveget. Az a baj, hogy ha le akarom másolni, ott virít a fejlécen az a fekete kód, ami elég ciki. Éjjel lemásolom.. Template.php néven mentettem... Nem siránkozom, gondolkodom és majd másolok. Jól jöhet ez még más kezdőknek is..
Adrienn
Adrienn
Rossz fájlnév?!
template.php
néven mentsd! (Ugye pp??)Üdvözlettel:
Hajas Tamás
Üdvözlettel:
Hajas Tamás
igen, elírtam
Köszi!
Palócz István
https://palocz.hu | https://tanarurkerem.hu
Bluemarine
A táv gyógyítás nem az erőségem, de egyszer mindent el kell kezdeni :)
A bluemarine sminknek alap esetben nincsen template.php fájlja(de szép magyar szó), PP útmutatása alapján létrehoztad és bemásoltad a kódot amit küldtem.
Programozói körökben az az általános nézet, hogy minden PHP fájl szereti a <?php nyitó tagot.
Ezt elfelejtettük neked is elmondani.
Tehát a template.php tartalma (kis mókus módra) így kezdődjön:
tényleg
Erre nem is gondoltam!
Te meg használd a php nyitó és záró tag-et ne a code-ot! És akkor ilyen hiba nem lesz, és még színezi is a kódot a Drupal.hu!
pp
(a másik hozzászólásodat is kijavtom.)
Palócz István
https://palocz.hu | https://tanarurkerem.hu
Ez nehéz ügy
Valóban sokkal szebb és érthetőbb, de van egy kis bibi.
Egy laikus számára sokkal részletesebben kellett volna megadni hogy mit csináljon a kóddal.
Ha van template.php akkor ez a kód:
function phptemplate_username()
ha nincsen akkor:
létre kell hozni és ez a kód
<?php function phptemplate_username()
A drupal.hu highlighter-e megjeleníti a nyitó tagot is, ez megnehezíti, hogy minden esetben pontos színezett kódot lehessen küldeni.
De ez már csak szőrszál hasogatás. :)
Kár ezen meditálni amíg Adrienn nem jelez vissza.
Pukkasztott záró tag
A PHP záró tag (
?>
) a template.php végéről pl. elhagyható. Javaslom bevezetni a PZT megjegyzést a kódok után, hogy tudja a júzer, hogy az ott egy pukkasztott záró tag, amit jobb, ha nem rak be haszonbank tiketre.Egyébként, ha a júzer beírja a google-ba, hogy "cannot modify header information" majd a bűvös "drupal template" szavakat akkor megkapja a választ a kérdésére, igaz angolul:
http://drupal.org/node/67122
Azonban ha a hibaüzenet után a "template.php" bűvszót írja be, akkor megkapja a sorstársai oldalait ;))
...azt hiszem pihennem kéne egy kicsit...
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
Hibajelentés
Bemásolás után az eredmény:
http://tars.myip.hu/bluemarine_error.JPG
Szóval nem jött össze.
Adrienn
Adrienn
hibás a fájl
Ugye nem a jegyzettömbbel készítetted el a fájlt? (az ugyanis belerakja a BOM-ot a fájl elejére)
Ami a hiba, hogy a nyitó
<?php
előtt van valami. Szóköz, vagy enter, vagy a BOM.A szóközt és az entert észre fogod venni, a BOM-ot sajnos nem, mert azt nem fogja neked megmutatni egy szövegszerkesztő sem. Ezért javasoltam használj pspad editort, amibe copypaste-el bemásolod a kódot, és nem megnyitod a fájlt és elmented, mert akkor a BOM simán ott maradhat. Persze, ha megtalálod a beállítást ami azt mondja, hogy a BOM-ot semmi esetre se mentse bele a fájlba még akkor se, ha volt benne, akkor nyugodtan csináld ezt.
Javaslom még, hogy a záró
?>
tag-et is hanyagold el.pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
Solved
Notepad++ editort használok...Be kellett jelölni az UTF-8 kódolást (BOM nélkül). Köszönöm a tippet. Most már működik szépen.
Adrienn
ui: kicsit zavaros napjaim voltak, elfelejtettem a jelszavamat, új belépést csináltam, a darin57 én vagyok, de már csak voltam.
Adrienn
Ohh de szép lett :-)
Szerintem van még egy pici szépség hiba.
A böngészők szerint a kattintható linkeknek 4 különböző állapota lehet. A bluemarine smink meg is mondja hogy ezek az állapotok milyen színnel legyenek jelölve, de te ezek közül csak egyet definiáltál felül.
a:link.male{...}
http://htmlinfo.polyhistor.hu/css_new/css2.htm
http://www.w3schools.com/css/pr_pseudo_hover.asp
a:link {color: #FF0000} /* unvisited link */
a:visited {color: #00FF00} /* visited link */
a:hover {color: #FF00FF} /* mouse over link */
a:active {color: #0000FF} /* selected link */
Szépséghiba
Igen. Igazad van és nagyon köszönöm, mert ezt sem tudtam és persze még sok mást sem tudok. De majd fogok!
Valószínűleg a gyorstár az ami meg is viccelt, mert egyszer piros a nevem, máskor kék..most éppen kék.
Megcsinálom amit javasoltál, hamarosan.
Köszi!
Adrienn
Adrienn
Néztem
Az eredeti kód
a:link.female {
background-color: pink;
}
a:link.male {
background-color: #c0e0f4;
}
Amit Te írtál azt a femele{.....helyén kezdjem? Kihagyva belőle a többit?
Már majdnem nagyon örültem, hogy végre jó, de lassan kikékül az egész pirosam....
Adrienn
Adrienn
Linkek színezése kicsit részletesebben.
Nagyon sok mindent kéne nagyon részletesen elmagyarázni, hogy megértsed, de megpróbálom röviden.
Mint már említettem a hivatkozásoknak 4 állapota van, és minden állapotot különböző módon lehet megjeleníteni (külön Dizájn mindegyikhez). Ha a webhely nem rendelkezik a hivatkozások sminkelését illetően, akkor a böngésző alapértelmezése fog érvényesülni. Ami jellemzően a kék betűk aláhúzva.
Tehát a 4 állapot:
Ha megnézed a bluemarine smink stíluslapjának(style.css) a linkekre vonatkozó részét.
Akkor ezt fogod látni:
Rögtön az első sor, és az utána következő kapcsos zárójelek közötti rész azt mondja a böngészőnek hogy:
Mikor te hozzá adtad ezt a stíluslaphoz
Akkor az a böngésző számára azt jelenti hogy a nem látogatott linkek egy külön csoportját(female) rózsaszín háttérrel jelenítse meg.
A te problémád itt kezdődik.
Nincsen utasítva a böngésző, hogy a female csoportba tartozó és már látogatott linkekkel mit csináljon. Ezért a böngésző úgy kezeli őket mint az összes többi már látogatott linket. Ezekről a bluemarine smink már rendelkezett, lásd fentebb.
Tehát nálad egy női név csak addig piros amíg nincsen meglátogatva, utána felveszi a bluemarine smink látogatott linkekre vonatkozó stílusát – ami szürkéskék.
Megoldások
a.)Szólsz a webhely látogatóinak, hogy gyakran ürítsék az előzményeket.
b.)Meg kell adni azt hogy hogyan nézzenek ki a male és a female csoportba tartozó még nem látott linkek.
Egyformán
Különbözően
Linkek színezése.
Köszönöm szépen, már megoldva!
Nőknél a nem látogatott piros, a látogatott kb rózsaszín, férfiaknál nem látogatott kék, látogatott olajkék.
Mehetek a többi problémámra és lassan-lassan kialakul minden.
Adrienn
Adrienn
Drupal 6
Sziasztok!
Drupal 5-ről 6-osra változtattam a sminket, azóta a fenti megoldás nem működik.
Mit kell változtatni Drupal 6-on, hogy működjön?
Előre is köszönöm a választ.
Adrienn
"nem működik".. beszédes hibajelentés
mi nem működik?
van valami hibaüzenet?
mi történik?
meg tudjuk nézni valahol?
ennek elvileg hatoson is ugyanúgy kell működnie.
-
clear: both;
kérlek indíts új témát!
Kérlek indíts új témát, verziót változtattál, attól tartok hogy a sminkben is komolyabb változtatás kell.
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
Sziasztok Én is társkeresőt
Sziasztok
Én is társkeresőt csinálgatok, nekem cck-val van megadva hogy egy tag férfi-e vagy nő. ezt bio modullal a reglapra varázsoltam és viewsal listázom őket...
lehetséges az hogy nekem is pl. piros színnel jelenjenek meg a női felhasználóim neve illetve pl. kékkel a férfiaké az oldalon?
clubdj smiket alakítottam át...
ha kell hozzá, akkor az oldal --> http://szerelemszarnyan.hu (vagy com... :))
szóljatok rám ha nagyon hülyeségeket kérdezek... :)))
ja ami itt elhangzott azt próbálgatom, de nekem sehogy se jön össze. bár én még nagyon kiscsikó vagyok a php-ben de igyekszem átlátni de ez nekem még magas...
ha valaki tud kérem segítsen:)
köszönöm szépen!
Ördi
lehetséges
Szia ordi!
Nem tudom, hogy hányas drupalt használsz. 5-ösnél nekem hibátlanul működött. Egyszerűen a fenti útmutatást csináld végig 5-ösnél biztosan jó.
Adrienn