Időzóna: (GMT +1 óra) RSS - hozzászólások

Tartózkodási hely

Szerző
Üzenet
BVLIST
Gyakorló phpBB-s
Gyakorló phpBB-s
Avatar

Csatlakozott: 2010.04.20. Kedd 16:48
Hozzászólások: 70
Hozzászólás Elküldve: 2011.03.05. 10:59    Hozzászólás témája: Tartózkodási hely
Hozzászólás az előzmény idézésével
Sziasztok!
Azt szeretném megkérdezni hogyan lehetne legördülő listából választani a Tartózkodási hely-et?
És regisztrációnál kötelezően meg keljen adni?

Kód:


<select>
<option>Bács-Kiskun megye</option>
<option>Baranya megye</option>
<option>Békés megye</option>
<option>Borsod-Abaúj-Zemplén megye</option>
<option>Budapest</option>
<option>Csongrád megye</option>
<option>Fejér megye</option>
<option>Győr-Moson-Sopron megye</option>
<option>Hajdú-Bihar megye</option>
<option>Heves megye</option>
<option>Jász-Nagykun-Szolnok megye</option>
<option>Komárom-Esztergom megye</option>
<option>Nógrád megye</option>
<option>Pest megye</option>
<option>Somogy megye</option>
<option>Szabolcs-Szatmár-Bereg megye</option>
<option>Tolna megye</option>
<option>Vas megye</option>
<option>Veszprém megye</option>
<option>Zala megye</option>
</select>


Addig már sikerült eljutnom hogy megjelenjen:D de nem menti el amit kiválasztok gondolom valami értéket kell adni a <select>-nek!?

Ez az eredeti sor:

Kód:


<dl>
<dt><label for="location">{L_LOCATION}:</label></dt>
<dd><input type="text" name="location" id="location" maxlength="255" value="{LOCATION}" class="inputbox" /></dd>
</dl>


Előre is köszi a segítséget!

Felhasználó profiljának megtekintése Privát üzenet küldése
Marcee
Adminisztrátor
Adminisztrátor
Avatar

Csatlakozott: 2006.01.17. Kedd 1:00
Hozzászólások: 2921
Hozzászólás Elküldve: 2011.03.05. 13:15    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Én a helyedben inkább egyedi profil mezővel oldalán meg.

Az Adminisztrátori vezérlőpult Felhasználók és csoportok fülének Egyedi profil mezők pontjában hozz létre egy lenyíló lista típusú mezőt, amit viszonylag részletesen be tudsz állítani.
Ha el szeretnéd szüntetni a vele párhuzamosan létező tartózkodási hely mezőt, akkor nézd meg ezt a témát: Avatar alatti infók szűkítése. Ha a Felhasználói vezérlőpultról is el szeretnéd rejteni, ahhoz a megjelenésed ucp_profile_profile_info.html-jét kell szerkesztened, a {LOCATION} sort tartalmazó "blokkot" kell kivenned. A tagolódást látni fogod, a megjelenésedtől függően <tr>-től </tr>-ig vagy <dl>-től </dl>-ig kell törölnöd / kikommentezned ( ekkor a kérdéses részt ne töröld ki, csak írj elé egy <!-- karaktersort, majd a végére egy --> -t).

Persze úgy is meg lehet oldani, ahogy te szeretnéd, hogy a már meglévő tartózkodási hely mezőt alakítod át. Viszont ekkor több fájlt is módosítanod kellene, ugyanis ez a mező alapból nem kötelező, és szigorúbb értékellenőrzést sem végez (ugye alapból lakóhelynek azt írsz be, amit akarsz, itt meg gondoskodni kellene róla, hogy csak a listában szereplő értékekből lehessen választani) - ezeket az egyedi profilmező mind tudja. Plusz az egyedi kódok miatt a phpBB frissítése egy leheletnyivel több odafigyelést igényelne.

Felhasználó profiljának megtekintése Privát üzenet küldése
BVLIST
Gyakorló phpBB-s
Gyakorló phpBB-s
Avatar

Csatlakozott: 2010.04.20. Kedd 16:48
Hozzászólások: 70
Hozzászólás Elküldve: 2011.03.05. 18:54    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Köszönöm a segítséget!
Kikommentelem a bizonyos sorokat és létre hozok egy új mezőt,csak lehet hogy ez probléma lesz mivel nekem azért lett volna szükségem erre a megoldásra,mert "telepítve van egy apróhirdetés"MOD
minek használatát (hirdetés feladása) a Tartózkodási hely megadásához kötök a beállításokban.
Majd meglátom hogy hogyan alakulnak dolgok,azért köszönöm.Jelenleg az alap prosilver sablont használom,de tervbe van véve egy új sablon de rengeteg MOD lett beintegrálva a fórumba és elég sok idő az átírása más sablonokra.

Felhasználó profiljának megtekintése Privát üzenet küldése
Marcee
Adminisztrátor
Adminisztrátor
Avatar

Csatlakozott: 2006.01.17. Kedd 1:00
Hozzászólások: 2921
Hozzászólás Elküldve: 2011.03.05. 19:13    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Neked sajnos nem lesz jó az egyedi profilmezős megoldás. Utánanézek, hogy miket kell módosítani. (Mostanában sajnos eléggé elfoglalt vagyok, ha nem sikerülne holnap megnéznem, akkor előre is pár nap türelmedet kérném.)

Felhasználó profiljának megtekintése Privát üzenet küldése
BVLIST
Gyakorló phpBB-s
Gyakorló phpBB-s
Avatar

Csatlakozott: 2010.04.20. Kedd 16:48
Hozzászólások: 70
Hozzászólás Elküldve: 2011.03.05. 19:15    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Rendben,nagyon szépen köszönöm.Várom a válaszát.

Felhasználó profiljának megtekintése Privát üzenet küldése
Marcee
Adminisztrátor
Adminisztrátor
Avatar

Csatlakozott: 2006.01.17. Kedd 1:00
Hozzászólások: 2921
Hozzászólás Elküldve: 2011.03.16. 20:40    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Elnézést, hogy eddig tartott.
A MOD nem teljesen saját szerzemény, angelside [beta] location dropdown MOD-ján alapul.

Hozz létre egy location.php nevű fájlt a language/hu/mods, language/hu-x-formal/mods és language/en/mods könyvtárakban a következő tartalommal:

Kód:

<?php
/**
*
* location [Hungarian]
*
* @package language
* @version $Id: location.php,v 1.1 2007/02/24 01:25:50 angelside Exp $
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
* DO NOT CHANGE
*/
if (empty($lang) || !is_array($lang))
{
    $lang = array();
}

// DEVELOPERS PLEASE NOTE
//
// Placeholders can now contain order information, e.g. instead of
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
// translators to re-order the output of data while ensuring it remains correct
//
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
// equally where a string contains only two placeholders which are used to wrap text
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine

$lang = array_merge($lang, array(
   'location'   => array(
      'Bács-Kiskun megye',
      'Baranya megye',
      'Békés megye',
      'Borsod-Abaúj-Zemplén megye',
      'Budapest',
      'Csongrád megye',
      'Fejér megye',
      'Győr-Moson-Sopron megye',
      'Hajdú-Bihar megye',
      'Heves megye',
      'Jász-Nagykun-Szolnok megye',
      'Komárom-Esztergom megye',
      'Nógrád megye',
      'Pest megye',
      'Somogy megye',
      'Szabolcs-Szatmár-Bereg megye',
      'Tolna megye',
      'Vas megye',
      'Veszprém megye',
      'Zala megye',
   ),

   'UNKNOWN_LOCATION' => 'Nincs megadva',
   'REGISTER_WRONG_LOCATION' => 'A tartózkodási helyet kötelező megadni.',
));

?>
Figyelj arra, hogy a fájl BOM nélküli UTF-8 kódolásban legyen elmentve!

Az includes/ucp/ucp_profile.php fájlban a

Kód:

var $u_action;
sor után illeszd be ezt (*):

Kód:

// angelside - phpBB.hu - Tartózkodási hely MOD
function location_select($default_location, $select_name = "location")
{
    global $user;
    $location_list = $user->lang['location'];

    $location_select = '<select name="' . $select_name . '">';
    while( list($id, $location_name) = @each($location_list) )
    {
       $selected = ( $location_name == $default_location ) ? ' selected="selected"' : '';

       $location_select .= '<option value="' . $location_name . '"' . $selected . '>' . $location_name . '</option>';
    }
    $location_select .= "</select>";

    return $location_select;
}
// angelside - phpBB.hu - Tartózkodási hely MOD


Majd a

Kód:

$user->add_lang('posting');
sor alá illeszd be ezt:

Kód:

$user->add_lang('mods/location'); // angelside - phpBB.hu - Tartózkodási hely MOD


A

Kód:

'LOCATION'   => $data['location'],
sort pedig cseréld le erre:

Kód:

/*
'LOCATION'   => $data['location'],
*/
'LOCATION'  => $this->location_select($data['location'], 'location'), // angelside - phpBB.hu - Tartózkodási hely MOD


Az includes/acp/acp_users.php fájlban a

Kód:

function main($id, $mode)
sor elé illeszd be megint az előbb csillaggal jelölt kódrészletet.

A

Kód:

$this->page_title = 'ACP_USER_' . strtoupper($mode);
sor alá illeszd be ezt:

Kód:

$user->add_lang('mods/location'); // angelside - phpBB.hu - Tartózkodási hely MOD


És a

Kód:

'LOCATION'   => $data['location'],
sort megint cseréld le erre:

Kód:

/*
'user_from'   => $data['location'],
*/
'user_from'  => $this->location_select($data['location'], 'location'), // angelside - phpBB.hu - Tartózkodási hely MOD


Ha ezekkel megvagy, akkor az adm/style/acp_user_profile.html-ben a

Kód:

<dd><input type="text" id="location" name="location" value="{LOCATION}" /></dd>
sort cseréld erre:

Kód:

<dd>{LOCATION}</dd>


Prosilver és arra épülő megjelenésekben is ezt a cserét kell elvégezned a styles/prosilver/template/ucp_profile_profile_info.html fájlon.

Subsilver2 és arra épülő megjelenésekben ugyanúgy a styles/subsilver2/template/ucp_profile_profile.html fájlt kell szerkesztened, de ennél a

Kód:

<td class="row2"><input class="post" type="text" name="location" size="30" maxlength="100" value="{LOCATION}" /></td>
sort kell lecserélned erre:

Kód:

<td class="row2">{LOCATION}</td>


Az ezutáni módosításokat csak akkor végezd el, ha szeretnéd, hogy regisztrációkor kötelező legyen megadni a tartózkodási helyet.

A includes/ucp/ucp_register.php-ben a

Kód:

var $u_action;
sor után illeszd be a következő kódrészletet (nem teljesen ugyanaz, mint a csillagos!):

Kód:

// angelside - phpBB.hu - Tartózkodási hely MOD
function location_select($default_location, $select_name = "location")
{
    global $user;
    $location_list = $user->lang['location'];

    $location_select = '<select name="' . $select_name . '">';
    $location_select .= '<option value="n/a">' . $user->lang['UNKNOWN_LOCATION'] . '</option>';
    while( list($id, $location_name) = @each($location_list) )
    {
       $selected = ( $location_name == $default_location ) ? ' selected="selected"' : '';

       $location_select .= '<option value="' . $location_name . '"' . $selected . '>' . $location_name . '</option>';
    }
    $location_select .= "</select>";

    return $location_select;
}
// angelside - phpBB.hu - Tartózkodási hely MOD


A

Kód:

global $config, $db, $user, $auth, $template, $phpbb_root_path, $phpEx;
sor után illeszd be:

Kód:

$user->add_lang('mods/location'); // angelside - phpBB.hu - Tartózkodási hely MOD


A

Kód:

'lang'            => basename(request_var('lang', $user->lang_name)),
'tz'            => request_var('tz', (float) $timezone),
után ezt illeszd be:

Kód:

'location'         => utf8_normalize_nfc(request_var('location', '', true)), // angelside - phpBB.hu - Tartózkodási hely MOD


A

Kód:

'tz'            => array('num', false, -14, 14),
'lang'            => array('match', false, '#^[a-z_\-]{2,}$#i'),
sorok után ezt:

Kód:

'location'         => array('string', false, 2, 255), // angelside - phpBB.hu - Tartózkodási hely MOD


A közvetlenül ezután lévő

Kód:

if (!check_form_key('ucp_register'))
sor elé ezt:

Kód:

// angelside - phpBB.hu - Tartózkodási hely MOD
if ($data['location'] == 'n/a')
{
   $error[] = $user->lang['REGISTER_WRONG_LOCATION'];
}
// angelside - phpBB.hu - Tartózkodási hely MOD


A

Kód:

'user_inactive_reason'   => $user_inactive_reason,
'user_inactive_time'   => $user_inactive_time,
sorok után ezt:

Kód:

'user_from'   => $data['location'], // angelside - phpBB.hu - Tartózkodási hely MOD


Végül a

Kód:

'EMAIL'            => $data['email'],
'EMAIL_CONFIRM'      => $data['email_confirm'],
után illeszd be ezt:

Kód:

'LOCATION'  => $this->location_select($data['location'], 'location'), // angelside - phpBB.hu - Tartózkodási hely MOD


A megjelenéseknél a styles/megjelenésneve/template/ucp_register.html fájlt kell szerkesztened.
Az

Kód:

<!-- IF .profile_fields -->
sor elé kell beillesztened:
Prosilvernél ezt:

Kód:

<dl>
   <dt><label for="location">{L_LOCATION}:</label></dt>
   <dd>{LOCATION}</dd>
</dl>


Subsilver2-nél pedig ezt:

Kód:

<tr>
   <td class="row1"><b class="genmed">{L_LOCATION}: </b></td>
   <td class="row2">{LOCATION}</td>
</tr>


A módosítások után ne felejtsd el újratölteni a használt megjelenésed sablonjait az Adminisztrátori vezérlőpult Megjelenséek fülének Sablonok menüpontjában, a megfelelő sorokban az Újratöltés linkre kattintva.

Megjegyzés: Ha valaki korábban már megadott valamilyen tartózkodási helyet, akkor az addig nem módosul, amíg a Felhasználói vezérlőpultjának Profil szerkesztése pontjában valamelyik mező értékét nem módosítja.



A hozzászólás legutóbb Marcee által 2011.03.17. 22:02-kor lett szerkesztve, összesen 1 alkalommal.

Felhasználó profiljának megtekintése Privát üzenet küldése
k959
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2008.03.14. Péntek 17:08
Hozzászólások: 1128
Hozzászólás Elküldve: 2011.03.16. 22:31    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Erre kíváncsi leszek Marcee, vajon jó lesz-e? :)

Felhasználó profiljának megtekintése Privát üzenet küldése
Marcee
Adminisztrátor
Adminisztrátor
Avatar

Csatlakozott: 2006.01.17. Kedd 1:00
Hozzászólások: 2921
Hozzászólás Elküldve: 2011.03.16. 22:41    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Ha nem toltam el semmit, működnie kellene :)

Felhasználó profiljának megtekintése Privát üzenet küldése
BVLIST
Gyakorló phpBB-s
Gyakorló phpBB-s
Avatar

Csatlakozott: 2010.04.20. Kedd 16:48
Hozzászólások: 70
Hozzászólás Elküldve: 2011.03.17. 09:51    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Köszönöm Marcee,ki fogom próbálni csak jelenleg én is elfoglalt vagyok:) és jelezni fogok hogy megy e vagy sem.



A hozzászólás legutóbb BVLIST által 2011.03.21. 12:46-kor lett szerkesztve, összesen 1 alkalommal.

Felhasználó profiljának megtekintése Privát üzenet küldése
k959
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2008.03.14. Péntek 17:08
Hozzászólások: 1128
Hozzászólás Elküldve: 2011.03.17. 18:58    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Szia Marcee.
Tegnap este már nem volt kedvem végig nézni, de most szakítottam rá időt és ezek az aggályaim amiért jeleztem.

includes/acp/acp_users.php
Ilyen nincs!

Kód:

'LOCATION'   => $data['location'],


helyette ez van:

Kód:

'user_from'      => $data['location'],



adm/style/acp_user_profile.html
ez sem található:

Kód:

<dd><input type="text" id="location" name="location" value="{LOCATION}" /></dd>



includes/ucp/ucp_register.php
ez sincs:

Kód:

$var u_action;


ez van:

Kód:

var $u_action;


Nálam 3.0.8 verzió fut és ott nem található amit most ide írtam.
A többi szerkesztés ahogy néztem megoldható, mert némi változás van egyes megjelenések között, de megtalálhatóak amit írtál.

Felhasználó profiljának megtekintése Privát üzenet küldése
Marcee
Adminisztrátor
Adminisztrátor
Avatar

Csatlakozott: 2006.01.17. Kedd 1:00
Hozzászólások: 2921
Hozzászólás Elküldve: 2011.03.17. 22:02    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Köszönöm a javításokat. Az első sor létezik az acp_users.php fájlban az 1461. sornál, a második is létezik, csak a fájl neve lett elírva: acp_users_profile.html (31. sor környéke). A harmadik sima elírás a részemről.

Felhasználó profiljának megtekintése Privát üzenet küldése
k959
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2008.03.14. Péntek 17:08
Hozzászólások: 1128
Hozzászólás Elküldve: 2011.03.18. 14:55    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Én köszönöm neked Marcee, ezt a remek kis MOD-t. Mivel tetszik ezért be is építettem magamhoz is, és remekül működik igy.
A reges választásról íme a bizonyiték.
Kép

Ügyes vagy! KÖSZÖNJÜK. :D

Felhasználó profiljának megtekintése Privát üzenet küldése
BVLIST
Gyakorló phpBB-s
Gyakorló phpBB-s
Avatar

Csatlakozott: 2010.04.20. Kedd 16:48
Hozzászólások: 70
Hozzászólás Elküldve: 2011.03.19. 08:39    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Köszönöm Marcee a munkádat,nagyon ügyes vagy! :)
Látom nem csak nekem tetszik ez a MOD (megoldás).

Felhasználó profiljának megtekintése Privát üzenet küldése
k959
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2008.03.14. Péntek 17:08
Hozzászólások: 1128
Hozzászólás Elküldve: 2011.03.19. 13:20    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Találtam hibát a szerkesztésben!

Idézet:

Az includes/acp/acp_users.php fájlban a

Kód:

function main($id, $mode)

sor elé illeszd be megint az előbb csillaggal jelölt kódrészletet.
Ezt ne csináld meg, mert ugrik a FELHASZNÁLOK ÉS CSOPORTOK fül elérhetősége az AVP-ben!!!

Ime a hiba:
Kép

Felhasználó profiljának megtekintése Privát üzenet küldése
Marcee
Adminisztrátor
Adminisztrátor
Avatar

Csatlakozott: 2006.01.17. Kedd 1:00
Hozzászólások: 2921
Hozzászólás Elküldve: 2011.03.20. 13:42    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Látom, alakul ez :) Hamarosan átnézem, és javítom.

Felhasználó profiljának megtekintése Privát üzenet küldése
Hozzászólások megtekintése:  

Időzóna: (GMT +1 óra) RSS - hozzászólások
Nem készíthetsz új témákat ebben a fórumban.
Nem válaszolhatsz egy témára ebben a fórumban.
Nem módosíthatod a hozzászólásaidat a fórumban.
Nem törölheted a hozzászólásaidat a fórumban.
Nem szavazhatsz ebben fórumban.

Hirdetés
Hirdetés