Nested dropdown fields
-
I wanna have 3 dropdown fields (Regions -> States -> Cities) …
In edit profile they look work fine .. they fill optios nicely … but as it seems after update profile, onlr the 1st level keeps te value, the 2nd & 3rd level seem have empty value…
* In view profile mode all fields with no value are not appeared ..!!!???
Ultimate Member 2.1.0-rc.1
I also wanna use them as filter in members list page.
1. Only 1st level works, 2nd & 3rd level stay empty …
2. How can guest use filter ability in members list page?1st level dropdown field settings (no parent) :
https://photos.google.com/photo/AF1QipOMRwaWZ20TD35blDrfYWBEDebq5FeLLZYzaaPY
1st level dropdown field Callback function :function um_getRegions() { $regions = array( "01" => "Ανατολική Μακεδονία και Θράκη", "02" => "Αττική", "03" => "Βόρειο Αιγαίο", "04" => "Δυτική Ελλάδα", "05" => "Δυτική Μακεδονία", "06" => "Ήπειρος", "07" => "Θεσσαλία", "08" => "Ιόνιοι Νήσοι", "09" => "Κεντρική Μακεδονία", "10" => "Κρήτη", "11" => "Νότιο Αιγαίο", "12" => "Πελοπόννησος", "13" => "Στερεά Ελλάδα" ); return $regions; }
2nd level dropdown field settings (Parent => Region ):
https://photos.google.com/photo/AF1QipODVHF-s41GgafNGWhpx5eOrPr03VTNCoNSc9bZ
2nd level dropdown field Callback function :add_filter("um_getStates","__return_true"); add_filter("um_getStates","um_getStates", 10,1 ); function um_getStates($choice = null) { //get the value from the 'parent' field, sent via the AJAX post. $choice = $_POST['parent_option']; //Depending on the value of $choice, return a different array. switch($choice) { case "01": $states = array( "0101" => "Δράμας", "0102" => "Έβρου", "0103" => "Θάσου", "0104" => "Καβάλας", "0105" => "Ξάνθης", "0106" => "Ροδόπης" ); break; case "02": $states = array( "0201" => "Ανατολικής Αττικής", "0202" => "Βορείου Τομέα Αθηνών", "0203" => "Δυτικής Αττικής", "0204" => "Δυτικού Τομέα Αθηνών", "0205" => "Κεντρικού Τομέα Αθηνών", "0206" => "Νήσων Αττικής", "0207" => "Νοτίου Τομέα Αθηνών", "0208" => "Πειραιώς" ); break; case "03": $states = array( "0301" => "Ικαρίας", "0302" => "Λέσβου", "0303" => "Λήμνου", "0304" => "Σάμου", "0305" => "Χίου" ); break; case "04": $states = array( "0401" => "Αιτωλοακαρνανίας", "0402" => "Αχαΐας", "0403" => "Ηλείας" ); break; case "05": $states = array( "0501" => "Γρεβενών", "0502" => "Καστοριάς", "0503" => "Κοζάνης", "0504" => "Φλώρινας" ); break; case "06": $states = array( "0601" => "Άρτας", "0602" => "Θεσπρωτίας", "0603" => "Ιωαννίνων", "0604" => "Πρέβεζας" ); break; case "07": $states = array( "0701" => "Καρδίτσας", "0702" => "Λάρισας", "0703" => "Μαγνησίας", "0704" => "Σποράδων", "0705" => "Τρικάλων" ); break; case "08": $states = array( "0801" => "Ζακύνθου", "0802" => "Ιθάκης", "0803" => "Κέρκυρας", "0804" => "Κεφαλληνίας", "0805" => "Λευκάδας" ); break; case "09": $states = array( "0901" => "Ημαθίας", "0902" => "Θεσσαλονίκης", "0903" => "Κιλκίς", "0904" => "Πέλλας", "0905" => "Πιερίας", "0906" => "Σερρών", "0907" => "Χαλκιδικής" ); break; case "10": $states = array( "1001" => "Ηρακλείου", "1002" => "Λασιθίου", "1003" => "Ρεθύμνου", "1004" => "Χανίων" ); break; case "11": $states = array( "1101" => "Άνδρου", "1102" => "Θήρας", "1103" => "Καλύμνου", "1104" => "Καρπάθου-Κάσου", "1105" => "Κέας-Κύθνου", "1106" => "Κω", "1107" => "Μήλου", "1108" => "Μυκόνου", "1109" => "Νάξου", "1110" => "Πάρου", "1111" => "Ρόδου", "1112" => "Σύρου", "1113" => "Τήνου" ); break; case "12": $states = array( "1201" => "Αργολίδας", "1202" => "Αρκαδίας", "1203" => "Κορινθίας", "1204" => "Λακωνίας", "1205" => "Μεσσηνίας" ); break; case "13": $states = array( "1301" => "Βοιωτίας", "1302" => "Εύβοιας", "1303" => "Ευρυτανίας", "1304" => "Φθιώτιδας", "1305" => "Φωκίδας" ); break; default: //code to do something if other options are not selected (throw an error, or set $cities to a default array) $states = array("0000" => "no state"); } //$array['custom_dropdown_options_source'] = true; //$array['options'] = $states; return $states; }
3nd level dropdown field settings (Parent => State ):
https://photos.google.com/photo/AF1QipOLUm95JDpSVJQTNThT9K2kMyBDt9gMh0cDO8AU
3nd level dropdown field Callback function :add_filter("um_getCities","__return_true"); add_filter("um_getCities","um_getCities", 10,1 ); function um_getCities($choice = null) { //get the value from the 'parent' field, sent via the AJAX post. $choice = $_POST['parent_option']; //Depending on the value of $choice, return a different array. switch($choice) { case "0101": $cities = array( "010101" => "Δοξάτου", "010102" => "Δράμα", "010103" => "Νευροκοπίου", "010104" => "Παρανεστίου", "010105" => "Προσοτσάνης" ); break; case "0102": $cities = array( "010201" => "Αλεξανδρούπολης", "010202" => "Διδυμοτείχου", "010203" => "Ορεστιάδας", "010204" => "Σαμοθράκης", "010205" => "Σουφλίου" ); break; case "0103": $cities = array( "010301" => "Θάσου" ); break; case "0104": $cities = array( "010401" => "Καβάλας", "010402" => "Νέστου", "010403" => "Παγγαίου" ); break; case "0105": $cities = array( "010501" => "Αβδήρων", "010502" => "Μύκης", "010503" => "Ξάνθης", "010504" => "Τοπείρου" ); break; case "0106": $cities = array( "010601" => "Ιάσμου", "010602" => "Αρριανών", "010603" => "Κομοτηνής", "010604" => "Μαρωνείας-Σαπών" ); break; case "0201": $cities = array( "020101" => "Αχαρνών", "020102" => "Βάρης-Βούλας-Βουλιαγμένης", "020103" => "Διονύσου", "020104" => "Κρωπίας", "020105" => "Λαυρεωτικής", "020106" => "Μαραθώνος", "020107" => "Παιανίας", "020108" => "Παλλήνης", "020109" => "Μαρκοπούλου Μεσογαίας", "020110" => "Ραφήνας-Πικερμίου", "020111" => "Σπάτων-Αρτέμιδος", "020112" => "Σαρωνικού", "020113" => "Ωρωπού" ); break; case "0202": $cities = array( "020201" => "Αγίας Παρασκευής", "020202" => "Αμαρουσίου", "020203" => "Βριλησσίων", "020204" => "Ηρακλείου", "020205" => "Κηφισιάς", "020206" => "Λυκόβρυσης-Πεύκης", "020207" => "Μεταμορφώσεως", "020208" => "Νέας Ιωνίας", "020209" => "Παπάγου-Χολαργού", "020210" => "Πεντέλης", "020211" => "Φιλοθέης-Ψυχικού", "020212" => "Χαλανδρίου" ); break; case "0203": $cities = array( "020301" => "Ασπροπύργου", "020302" => "Ελευσίνας", "020303" => "Μεγαρέων", "020304" => "Μάνδρας-Ειδυλλίας", "020305" => "Φυλής" ); break; case "0204": $cities = array( "020401" => "Αγίας Βαρβάρας", "020402" => "Αγίων Αναργύρων-Καματερού", "020403" => "Αιγάλεω", "020404" => "Ιλίου", "020405" => "Περιστερίου", "020406" => "Πετρούπολης", "020407" => "Χαϊδαρίου" ); break; case "0205": $cities = array( "020501" => "Αθηναίων", "020502" => "Βύρωνος", "020503" => "Γαλατσίου", "020504" => "Δάφνης-Υμηττού", "020505" => "Ζωγράφου", "020506" => "Ηλιούπολης", "020507" => "Καισαριανής", "020508" => "Φιλαδελφείας-Χαλκηδόνας" ); break; case "0206": $cities = array( "020601" => "Αγκιστρίου", "020602" => "Αίγινας", "020603" => "Κυθήρων", "020604" => "Πόρου", "020605" => "Σαλαμίνας", "020606" => "Σπετσών", "020607" => "Τροιζηνίας", "020608" => "Ύδρας" ); break; case "0207": $cities = array( "020701" => "Αγίου Δημητρίου", "020702" => "Αλίμου", "020703" => "Γλυφάδας", "020704" => "Ελληνικού-Αργυρούπολης", "020705" => "Καλλιθέας", "020706" => "Μοσχάτου-Ταύρου", "020707" => "Νέας Σμύρνης", "020708" => "Παλαιού Φαλήρου" ); break; case "0208": $cities = array( "020801" => "Κερατσινίου-Δραπετσώνας", "020802" => "Κορυδαλλού", "020803" => "Νίκαιας-Αγίου Ιωάννη Ρέντη", "020804" => "Πειραιώς", "020805" => "Περάματος" ); break; case "0301": $cities = array( "030101" => "Ικαρίας", "030102" => "Φούρνων Κορσεών" ); break; case "0302": $cities = array( "030201" => "Λέσβου" ); break; case "0303": $cities = array( "030301" => "Αγίου Ευστρατίου", "030302" => "Λήμνου" ); break; case "0304": $cities = array( "030401" => "Σάμου" ); break; case "0305": $cities = array( "030501" => "Οινουσσών", "030502" => "Χίου", "030503" => "Ψαρών" ); break; case "0401": $cities = array( "040101" => "Αγρινίου", "040102" => "Ακτίου-Βόνιτσας", "040103" => "Αμφιλοχίας", "040104" => "Θέρμου", "040105" => "Μεσολογγίου", "040106" => "Ναυπακτίας", "040107" => "Ξηρομέρου" ); break; case "0402": $cities = array( "040201" => "Δυτικής Αχαΐας", "040202" => "Αιγιαλείας", "040203" => "Ερυμάνθου", "040204" => "Καλαβρύτων", "040205" => "Πατρέων" ); break; case "0403": $cities = array( "040301" => "Ανδραβίδας-Κυλλήνης", "040302" => "Ανδρίτσαινας-Κρεστένων", "040303" => "Αρχαίας Ολυμπίας", "040304" => "Ζαχάρως", "040305" => "Ήλιδας", "040306" => "Πηνειού", "040307" => "Πύργου" ); break; case "0501": $cities = array( "050101" => "Γρεβενών", "050102" => "Δεσκάτης" ); break; case "0502": $cities = array( "050201" => "Καστοριάς", "050202" => "Νεστορίου", "050203" => "Ορεστίδος" ); break; case "0503": $cities = array( "050301" => "Βοΐου", "050302" => "Εορδαίας", "050303" => "Κοζάνης", "050304" => "Σερβίων-Βελβεντού" ); break; case "0504": $cities = array( "050401" => "Αμυνταίου", "050402" => "Πρεσπών", "050403" => "Φλώρινας" ); break; case "0601": $cities = array( "060101" => "Αρταίων", "060102" => "Γεωργ. Καραϊσκάκη", "060103" => "Κεντρ. Τζουμέρκων", "060104" => "Νικολάου Σκουφά" ); break; case "0602": $cities = array( "060201" => "Ηγουμενίτσας", "060202" => "Σουλίου", "060203" => "Φιλιατών" ); break; case "0603": $cities = array( "060301" => "Βορ. Τζουμέρκων", "060302" => "Δωδώνης", "060303" => "Ζαγορίου", "060304" => "Ζίτσας", "060305" => "Ιωαννιτών", "060306" => "Κόνιτσας", "060307" => "Μετσόβου", "060308" => "Πωγωνίου" ); break; case "0604": $cities = array( "060401" => "Ζηρού", "060402" => "Πάργας", "060403" => "Πρέβεζας" ); break; case "0701": $cities = array( "070101" => "Αργιθέας", "070101" => "Καρδίτσας", "070101" => "Λίμνης Πλαστήρα", "070101" => "Μουζακίου", "070101" => "Παλαμά", "070101" => "Σοφάδων" ); break; case "0702": $cities = array( "070201" => "Αγιάς", "070202" => "Ελασσόνας", "070203" => "Κιλελέρ", "070204" => "Λαρισαίων", "070205" => "Τεμπών", "070206" => "Τυρνάβου", "070207" => "Φαρσάλων" ); break; case "0703": $cities = array( "070301" => "Αλμυρού", "070302" => "Βόλου", "070303" => "Ζαγοράς-Μουρεσίου", "070304" => "Νότιου Πηλίου", "070305" => "Ρήγα Φεραίου" ); break; case "0704": $cities = array( "070401" => "Αλοννήσου", "070402" => "Σκιάθου", "070403" => "Σκοπέλου" ); break; case "0705": $cities = array( "070501" => "Καλαμπάκας ", "070502" => "Πύλης", "070503" => "Μεγαρέων", "070504" => "Τρικαίων", "070505" => "Φαρκαδόνας" ); break; case "0801": $cities = array( "080101" => "Ζακύνθου" ); break; case "0802": $cities = array( "080201" => "Ιθάκης" ); break; case "0803": $cities = array( "080301" => "Κέρκυρας", "080302" => "Παξών" ); break; case "0804": $cities = array( "080401" => "Κεφαλλονιάς" ); break; case "0805": $cities = array( "080501" => "Λευκάδα", "080502" => "Μεγανησίου" ); break; case "0901": $cities = array( "090101" => "Αλεξάνδρειας", "090102" => "Βέροιας", "090103" => "Νάουσας" ); break; case "0902": $cities = array( "090201" => "Αμπελοκήπων-Μενεμένης", "090202" => "Βόλβης", "090203" => "Δέλτα", "090204" => "Θερμαϊκού", "090205" => "Θέρμης", "090206" => "Θεσσαλονίκης", "090207" => "Καλαμαριάς", "090208" => "Κορδελιού-Ευόσμου", "090209" => "Λαγκαδά", "090210" => "Νεάπολης-Συκεών", "090211" => "Παύλου Μελά", "090212" => "Πυλαίας-Χορτιάτη", "090213" => "Χαλκηδόνος" ); break; case "0903": $cities = array( "090301" => "Κιλκίς", "090302" => "Παιονίας" ); break; case "0904": $cities = array( "090401" => "Αλμωπίας", "090402" => "Έδεσσας", "090403" => "Πέλλας", "090404" => "Σκύδρας" ); break; case "0905": $cities = array( "090501" => "Δίου-Ολύμπου", "090502" => "Κατερίνης", "090503" => "Πύδνας-Κολινδρού" ); break; case "0906": $cities = array( "090601" => "Αμφίπολης", "090602" => "Βισαλτίας", "090603" => "Εμμαν. Παππά", "090604" => "Ηρακλείας", "090605" => "Νέας Ζίχνης", "090606" => "Σερρών", "090607" => "Σιντικής" ); break; case "0907": $cities = array( "090701" => "Αριστοτέλη", "090702" => "Κασσάνδρας", "090703" => "Νέας Προποντίδας", "090704" => "Πολυγύρου", "090705" => "Σιθωνίας" ); break; case "1001": $cities = array( "100101" => "Αρχανών-Αστερουσίων", "100101" => "Βιάννου", "100101" => "Γόρτυνας", "100101" => "Ηρακλείου", "100101" => "Μαλεβιζίου", "100101" => "Μινώα Πεδιάδας", "100101" => "Φαιστού", "100101" => "Χερσοννήσου" ); break; case "1002": $cities = array( "100201" => "Αγίου Νικολάου", "100202" => "Ιεράπετρας", "100203" => "Οροπεδίου Λασιθίου", "100204" => "Σητείας" ); break; case "1003": $cities = array( "100301" => "Αγίου Βασιλείου", "100302" => "Αμαρίου", "100303" => "Ανωγείων", "100304" => "Μυλοποτάμου", "100305" => "Ρεθύμνης" ); break; case "1004": $cities = array( "100401" => "Αποκορώνου", "100302" => "Γαύδου", "100303" => "Καντάνου-Σελίνου", "100304" => "Κισσάμου", "100305" => "Πλατανιά", "100306" => "Σφακίων", "100307" => "Χανίων" ); break; case "1101": $cities = array( "110101" => "Άνδρου" ); break; case "1102": $cities = array( "110201" => "Ανάφης", "110202" => "Θήρας", "110203" => "Ιητών", "110204" => "Σικίνου", "110205" => "Φολεγάνδρου" ); break; case "1103": $cities = array( "110301" => "Αγαθονησίου", "110302" => "Αστυπάλαιας", "110303" => "Καλυμνίων", "110304" => "Λειψών", "110305" => "Λέρου", "110306" => "Πάτμου" ); break; case "1104": $cities = array( "110401" => "Καρπάθου", "110402" => "Κάσου" ); break; case "1105": $cities = array( "110501" => "Κέας", "110502" => "Κύθνου" ); break; case "1106": $cities = array( "110601" => "Κω", "110602" => "Νισύρου" ); break; case "1107": $cities = array( "110701" => "Κιμώλου", "110702" => "Μήλου", "110703" => "Σερίφου", "110704" => "Σίφνου" ); break; case "1108": $cities = array( "110801" => "Μυκόνου" ); break; case "1109": $cities = array( "110901" => "Αμοργού", "110902" => "Νάξου και Μικρών Κυκλάδων" ); break; case "1110": $cities = array( "111001" => "Αντιπάρου", "111002" => "Πάρου" ); break; case "1111": $cities = array( "111101" => "Μεγίστης", "111102" => "Ρόδου", "111103" => "Σύμης", "111104" => "Τήλου", "111105" => "Χάλκης" ); break; case "1112": $cities = array( "111201" => "Σύρου-Ερμούπολης" ); break; case "1113": $cities = array( "111301" => "Τήνου" ); break; case "1201": $cities = array( "120101" => "Άργους-Μυκηνών", "120102" => "Επιδαύρου", "120103" => "Ερμιονίδας", "120104" => "Ναυπλιέων" ); break; case "1202": $cities = array( "120201" => "Βόρειας Κυνουρίας", "120202" => "Γορτυνίας", "120203" => "Μεγαλόπολης", "120204" => "Νότιας Κυνουρίας", "120205" => "Τρίπολης" ); break; case "1203": $cities = array( "120301" => "Βέλου-Βόχας", "120302" => "Κορινθίων", "120303" => "Λουτρακίου-Αγίων Θεοδώρων", "120304" => "Νεμέας", "120305" => "Ξυλοκάστρου-Ευρωστίνης", "120306" => "Σικυωνίων" ); break; case "1204": $cities = array( "120401" => "Ανατολικής Μάνης", "120402" => "Ελαφονήσου", "120403" => "Ευρώτα", "120404" => "Μονεμβασίας", "120405" => "Σπάρτης" ); break; case "1205": $cities = array( "120501" => "Δυτικής Μάνης", "120502" => "Καλαμάτας", "120503" => "Μεσσήνης", "120504" => "Οιχαλίας", "120505" => "Πύλου-Νέστορος", "120506" => "Τριφυλίας", ); break; case "1301": $cities = array( "130101" => "Αλιάρτου", "130102" => "Διστόμου-Αράχοβας-Αντίκυρας", "130103" => "Θηβαίων", "130104" => "Λεβαδέων", "130105" => "Ορχομενού", "130106" => "Τανάγρας" ); break; case "1302": $cities = array( "130201" => "Διρφύων-Μεσσαπίων", "130202" => "Ερέτριας", "130203" => "Ιστιαίας-Αιδηψού", "130204" => "Καρύστου", "130205" => "Κύμης-Αλιβερίου", "130206" => "Μαντουδίου-Λίμνης-Αγίας Άννας", "130207" => "Σκύρου", "130208" => "Χαλκιδέων" ); break; case "1303": $cities = array( "130301" => "Αγράφων", "130302" => "Καρπενησίου" ); break; case "1304": $cities = array( "130401" => "Αμφίκλειας-Ελάτειας", "130402" => "Δομοκού", "130403" => "Λαμιέων", "130405" => "Λοκρών", "130406" => "Μακρακώμης", "130407" => "Μώλου-Αγίου Κωνσταντίνου", "130408" => "Στυλίδας" ); break; case "1305": $cities = array( "130501" => "Δελφών", "130502" => "Δωρίδος" ); break; default: //code to do something if other options are not selected (throw an error, or set $cities to a default array) $cities = array("000000" => "no city"); } return $cities; }
Edit profile page (works ..seems OK )
https://photos.google.com/photo/AF1QipO_KyCxI8JAClpLZ8nDZOMJS00wjELMnOXwantgView profile page (fields with no value are not appear)
https://photos.google.com/photo/AF1QipMwqJE26Q3JWTO_-LSDkbsiesB4nvLNvLvBvIIKMembers list view page – the gear icon on up right corner, it supposed do something?
https://photos.google.com/photo/AF1QipPLsYMgiCDFwXGQEN_o-mypLRJM2FHRwl9b4iSkMembers list admin page – Search settings : how can i make guestr/visitors to use search or filter ability?
https://photos.google.com/photo/AF1QipOauk8wMMA2uxv44zeew0597jYdYYs5DmU_xZgtMembers list page with filter (3 dropdown fields). It gets as filter only 1st level value.IDEA!!! how to use the selected last filter to get the next level’ s dropdown field?
https://photos.google.com/photo/AF1QipNr7A2dUqbl3BqSrsJ0JGa3EonGhxb6fH3_thzMThe main idea is to make members all strays animall assosiation/groups and create u list of all of them and anyone can easily find one by location taxonomy. Next step connect UM with classifieds listings plugin ….
Thx alot … and sorry for my greeks …???!!!
The page I need help with: [log in to see the link]
- The topic ‘Nested dropdown fields’ is closed to new replies.