Alo EasyMail Newsletter segítséget kérnék

Sziaasztok!

Már egy másik kategóriában feltettem ugyanezt a kérdést, elnézést de hátha itt ráakad valaki a megoldásra.



Alo EasyMail-t szeretném használni hírlevél rendszernek az oldalamon.

Egyetlen problémám van vele. Elég sok levelezőlistát hoznék létre és azt akarom hogy a feliratkozók kiválaszthassák melyikre iratkoznak fel (egy ember csak egyre). Ha ezt bekapcsolom akkor viszont a feliratkozó widget felületen az összes megjelenek egymás alatt és checkboxokkal lehet őket kiválasztani. (lásd: http://teszt.euroweddingfilm.com) Van e arra valami mód, hogy ezt én átírjam úgy hogy egyetlen legördülő listából tudják kiválasztani a kívánt levelező listát?

A bővítmény szerkesztőbe a widget php fájlban megpróbáltam megkeresni az idevágó részt, s ott az input typeot radio buttonra kitudtam cserélni de legördülő listát nem tudtam belőle csinálni. Tudnátok nekem ebben segíteni?

//============= Widget functions ==============================================<br />
/**<br />
* Show the widget form for registered/pubblic<br />
*<br />
* param id div id, useful to distinguish forms (in page, in widget…)<br />
*/<br />
function alo_em_show_widget_form ( ) {<br />
global $user_ID, $user_email, $wpdb;<br />
<br />
// If registerd user check if subscriber<br />
$subscriber_id = alo_em_is_subscriber($user_email);<br />
<br />
// prepare mailing lists table<br />
$lists_msg = ( alo_em_translate_option ( alo_em_get_language (), ‘alo_em_custom_lists_msg’,false) !=”")? alo_em_translate_option ( alo_em_get_language (), ‘alo_em_custom_lists_msg’,false) : __(“You can also sign up for specific lists”, “alo-easymail”);<br />
$mailinglists = alo_em_get_mailinglists( ‘public’ );<br />
$lists_table = “”;<br />
if ( $mailinglists ) {<br />
$user_lists = alo_em_get_user_mailinglists ( $subscriber_id );<br />
$lists_table .= “<div class=’alo_easymail_lists_table’>” . $lists_msg .”:<br />”;<br />
$lists_table .= “<table><tbody>n”;<br />
foreach ( $mailinglists as $list => $val ) {<br />
$checked = ( $user_lists && in_array ( $list, $user_lists )) ? “checked=’checked’” : “”;<br />
// if registered add js to ajax subscribe/unsubscribe<br />
if (is_user_logged_in()) {<br />
$checkbox_js = “onchange=’alo_em_user_form(”lists”);’”;<br />
} else {<br />
$checkbox_js = “”;<br />
}<br />
$lists_table .= “<tr><td><input type=’checkbox’ name=’alo_em_form_lists[]‘ id=’alo_em_form_list_$list’ value=’$list’ $checked $checkbox_js class=’input-checkbox’ /></td><td><label for=’alo_em_form_list_$list’ value=’$list’>” . alo_em_translate_multilangs_array ( alo_em_get_language(), $val['name'], true ) . “</label></td></tr>n”; //edit : added the “label” element for better accessibility<br />
}<br />
$lists_table .= “</tbody></table>n”;<br />
$lists_table .= “</div>n”;<br />
}

Szia Bence!



Erről, hogy hogyan tudod legördülő listába tenni a levelező listák csoportjait, van egy kész megoldás ezen a linken:



http://www.eventualo.net/blog/2012/09/how-to-add-a-country-dropdown-in-form-and-subscribe-to-a-related-mailing-list/


  1. Annyit kell tenned, hogy azt a kódot, amit ott látsz, azt bemásolod a sablonkönyvtárad functions.php -fájljába, végére vagy bárhová.


  2. A megadott kódban javítani kell egy sort, mert lemaradt egy zárójel:
function custom_easymail_cf_check_numeric_range ($data) {<br />
$ids = array ( 1, 2, 3 ); // list IDs<br />
if ( in_array( $data, $ids )) { //itt kimaradt egy zárójel<br />
return true;<br />
} else {<br />
return false;<br />
}<br />
}
```<br />
Az if sorban kimaradt a zárójel (a lezáró),   de ahogy ide bemásoltam, az úgy jó.<br />
<br />
A listát meg létrehozod, beállítod, hogy mindegyik csak admin oldalon legyen látható, adsz neki id-ket, stb. A példában ő országokat tett bele, de átírhatod bármire, csak akkor a  a fenti kódban is látható array-t ki kell egészíteni az új id-el...<br />
<br />
Ü: András