![]() |
![]() |
|
| Condividi questo contenuto nei Social Network: |
|
Tweet |
|
|
|
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito. |
||||
|
|||||||||
|
|
LinkBack | Strumenti di discussione |
|
|
#1 (permalink) |
|
User Newbie
Data di registrazione: Dec 2011
Ubicazione: Padoav
Messaggi: 5
|
Problema di ricerca su CMS php Mysql
Salve io ho un cms "socialengine4" e ho un problema sulla ricerca. Praticamente quando vado nella pagina di ricerca mi trova tutti gli utenti registrati io vorrei che trovasse solamente una tipologia di utenti. Non riesco a capire come funziona il codice.
|
|
|
|
|
|
|
|
#3 (permalink) |
|
User Newbie
Data di registrazione: Dec 2011
Ubicazione: Padoav
Messaggi: 5
|
maggiori informazioni
La pagina in questione è padovaeventi.com/members
Allora premetto che il php lo conosco poco alcune modifiche sono riuscito a farle ma questa dopo ore di prove non riesco ad ottenere nulla. Allora ho trovato la pagina che gestisce la ricerca che credo utilizzi zend macredo si rifaccia ad altri pezzi di codice in altre pagine. Posto il frammento di codice che gestisce la ricerca e sul database gli utenti hanno due id diversi io vorrei che la ricerca prendesse solo il tipo di utente locale che ha id 4. public function getMemberTypeElement() { $multiOptions = array('' => ' '); $profileTypeFields = Engine_Api::_()->fields()->getFieldsObjectsByAlias($this->_fieldType, 'profile_type'); if( count($profileTypeFields) !== 1 || !isset($profileTypeFields['profile_type']) ) return; $profileTypeField = $profileTypeFields['profile_type']; $options = $profileTypeField->getOptions(); if( count($options) <= 1 ) { if( count($options) == 1 ) { $this->_topLevelId = $profileTypeField->field_id; $this->_topLevelValue = $options[0]->option_id; } return; } foreach( $options as $option ) { $multiOptions[$option->option_id] = $option->label; } $this->addElement('Select', 'profile_type', array( 'label' => 'Member Type', 'order' => -1000001, 'class' => 'field_toggle' . ' ' . 'parent_' . 0 . ' ' . 'option_' . 0 . ' ' . 'field_' . $profileTypeField->field_id . ' ', 'onchange' => 'changeFields($(this));', 'decorators' => array( 'ViewHelper', array('Label', array('tag' => 'span')), array('HtmlTag', array('tag' => 'li')) ), 'multiOptions' => $multiOptions, )); return $this->profile_type; } Dopo aver selezionato il tipo di utente apre campi personalizzati che sono stati creati dinamicamente per ogni tipologia di utente. Io vorrei che si aprisse solamente già settato con tipologia locale con i campi di ricerca locale. Cioè senza la possibilità di scegliere il tipo di utente. Grazie per l'attenzione e la disponibilità. |
|
|
|
|
|
#6 (permalink) |
|
User
|
credo che bisogna lavorare qui:
$options = $profileTypeField->getOptions(); if( count($options) <= 1 ) { if( count($options) == 1 ) { $this->_topLevelId = $profileTypeField->field_id; $this->_topLevelValue = $options[0]->option_id; } return; } field_id e option_id sono dei campi della tabella del db vero? poi pensavo, se a te ti interessa visualizzare solo un determinato campo agli utenti perche non fare una semplice chiamata al DB e una query al campo che ti interessa?? |
|
__________________
Twitter: @gargamella16 |
|
|
|
|
|
|
#7 (permalink) |
|
User Newbie
Data di registrazione: Dec 2011
Ubicazione: Padoav
Messaggi: 5
|
Esatto anche secondo me quello è il passaggio che stabilisce il numero di tipi di utenti e se maggiore di uno ti da possibilità di scegliere quale tipo di utente visualizzare. Poi dopo aver selezionato il tipo di utente assegna i vari checkbox di ricerca per quel tipo di utente. Non saprei come fare a modificare quelle righe.
|
|
|
|