В бендер теме другие манипуляции нужно сделать, в item.post:
найти код:
PHP:
<div class="control-group">
<label class="control-label" for="country"><?php _e('Country', 'bender'); ?></label>
<div class="controls">
<?php ItemForm::country_select(osc_get_countries(), osc_user()); ?>
</div>
</div>
вместо него вставить этот:
PHP:
<?php
$rCountries = osc_get_countries() ;
switch( count($rCountries) ) {
case 0: ?>
<div class="control-group">
<label class="control-label" for="country"><?php _e('Country', 'bender'); ?></label>
<div class="controls">
<input class="country_name" id="country_name" type="text" name="country" value="<?php echo get_country_name($item) ; ?>" />
</div>
</div>
<?php
break;
case 1: ?>
<input class="country_id" id="country_id" type="hidden" name="countryId" value="<?php echo $rCountries[0]['pk_c_code'] ; ?>" />
<?php
break;
default:
if($edit) { ?>
<div class="control-group">
<label class="control-label" for="country"><?php _e('Country', 'bender'); ?></label>
<div class="controls">
<?php ItemForm::country_select(); ?>
</div>
</div>
<?php
} else { ?>
<div class="control-group">
<label class="control-label" for="country"><?php _e('Country', 'bender'); ?></label>
<div class="controls">
<?php ItemForm::country_select(osc_get_countries(), osc_user()); ?>
</div>
</div>
<?php
}
break;
} ?>
Далее найти этот вывод региона:
PHP:
<?php ItemForm::region_text(osc_user()); ?>
и вставить вместо этого этот:
PHP:
<?php
if($edit){
ItemForm::region_select() ;
} else {
ItemForm::region_select(osc_get_regions(), osc_user()) ;
} ?>
Далее найти этот вывод города:
PHP:
<?php ItemForm::city_text(osc_user()); ?>
и вставить вместо этого этот:
PHP:
<?php if($edit){
ItemForm::city_select() ;
} else {
ItemForm::city_select(osc_get_cities(), osc_user()) ;
} ?>
Далее нужно подключить скрипт выбора внизу найти кусок кода:
PHP:
<?php }; ?>
</script>
<?php osc_current_web_theme_path('footer.php'); ?>
и вставить вместо этого этот:
PHP:
$('#countryId').change(function() {
$('#labelregionId').text('<?php _e("Select a region..."); ?>');
$("#region").before('<select name="cityId" id="cityId" ></select>');
$("#region").remove();
$("#regionId").html('<option selected value=""><?php _e("Select a region..."); ?></option>')
$('#labelcityId').text('<?php _e("Select a city..."); ?>');
$("#city").before('<select name="cityId" id="cityId" ></select>');
$("#city").remove();
$("#cityId").html('<option selected value=""><?php _e("Select a city..."); ?></option>')
});
$('#regionId').change(function() {
$('#labelcityId').text('<?php _e("Select a city..."); ?>');
$("#city").before('<select name="cityId" id="cityId" ></select>');
$("#city").remove();
$("#cityId").html('<option selected value=""><?php _e("Select a city..."); ?></option>')
});
<?php }; ?>
</script>
<?php osc_current_web_theme_path('footer.php'); ?>
Далее нужно подкорректировать этот файл скрипта oc-content/themes/bender/js/
global.js
Найти код:
PHP:
function selectUi(thatSelect){
и вставить вместо него этот:
PHP:
function selectUi(thatSelect,thatid){
Далее в этом же файле найти код:
PHP:
var uiSelected = $('<span class="select-box-label">'+thatSelect.find("option:selected").text().replace(/^\s*/gm, '')+'</span>');
и вставить вместо него этот:
PHP:
var uiSelected = $('<span class="select-box-label" id="label'+thatid+'">'+thatSelect.find("option:selected").text().replace(/^\s*/gm, '')+'</span>');
Далее в этом же файле найти код:
PHP:
$('body').on("created", '[name^="select_"]',function(evt) {
selectUi($(this));
});
$('select').each(function(){
selectUi($(this));
});
и вставить вместо него этот:
PHP:
$('body').on("created", '[name^="select_"]',function(evt) {
selectUi($(this),this.id);
});
$('select').each(function(){
selectUi($(this),this.id);
});
На этом все. Все работает на ура если все правильно подкорректировать как написано выше. Для выбора нескольких стран нужно корректировать ядро скрипта. Если кому надо будет напишу.
Да еще забыл это надо сделать самым первым по ходу, выше найти код js:
PHP:
<?php ItemForm::location_javascript_new(); ?>
поменять на этот:
PHP:
<?php ItemForm::location_javascript(); ?>