Все про Osclass

Статус
В этой теме нельзя размещать новые ответы.
Тут еще баг нашел небольшой в своем коде.... Если заходишь по адресу сайт.ру/search.php то в левом блоке, куда я и вкрячиваю пользовательские поля, не выводится список выпадающий главных категорий. За этот код отвечает кусок из functions.php где куча <ul> и <li>. Вот их надо заменить на <div>-ы , чтобы разбивка шла как надо. Пока с этим недовозился, может кто сам поковыряет.

работаем с item.php найти <!-- TITLE & DESCRIPTION --> и перед ним вставить - ошибка!! файл item-post.php надо редактировать. Сорри.
 
А можно поподробнее
Заменить в item-post.php это:
HTML:
<!-- LOCATION -->
        <div class="location">
          <div class="row">
            <input type="hidden" name="countryId" id="sCountry" class="sCountry" value="<?php echo $prepare['i_country']; ?>"/>
            <input type="hidden" name="regionId" id="sRegion" class="sRegion" value="<?php echo $prepare['i_region']; ?>"/>
            <input type="hidden" name="cityId" id="sCity" class="sCity" value="<?php echo $prepare['i_city']; ?>"/>

            <label for="term"><?php _e('Location', 'veronika'); ?></label>

            <div id="location-picker">
              <input type="text" name="term" id="term" class="term" placeholder="<?php _e('Country, Region or City', 'veronika'); ?>" value="<?php echo veronika_get_term(veronika_get_session('term'), $prepare['i_country'], $prepare['i_region'], $prepare['i_city']); ?>" autocomplete="off"/>
              <div class="shower-wrap">
                <div class="shower" id="shower">
                  <div class="option service min-char"><?php _e('Type country, region or city', 'veronika'); ?></div>
                </div>
              </div>

              <div class="loader"></div>
            </div>
          </div>
На это
HTML:
 <div class="box location">
          <h2><?php _e('Location', 'veronika'); ?></h2>

          <?php $country = Country::newInstance()->listAll(); ?>
          <div class="row" <?php if(count($country) == 1) { ?>style="display:none;"<?php } ?>>
            <label for="countryId"><?php _e('Country', 'veronika'); ?></label>
            <?php ItemForm::country_select(Country::newInstance()->listAll(), $cookie_loc); ?>
          </div>         

          <div class="row">
            <label for="regionId"><?php _e('Region', 'veronika'); ?></label>
            <?php ItemForm::region_select($region_list, $cookie_loc); ?>
          </div>

          <div class="row">
            <label for="city"><span><?php _e('City', 'veronika'); ?></span></label>
            <?php ItemForm::city_select($city_list, $cookie_loc); ?>
          </div>

          <div class="row">
            <label for="address"><?php _e('Address', 'veronika'); ?></label>
            <?php ItemForm::address_text(osc_user()); ?>
          </div>
        </div>
+ добавить скрипт в самый низ файла

Код:
<script>
    $(document).ready(function(){
   

      $("#countryId").live("change",function(){
        var pk_c_code = $(this).val();
        var url = '<?php echo osc_base_url(true)."?page=ajax&action=regions&countryId="; ?>' + pk_c_code;
        var result = '';

        if(pk_c_code != '') {
          $("#regionId").attr('disabled',false);
          $("#uniform-regionId").removeClass('disabled');
          $("#cityId").attr('disabled',true);
          $("#uniform-cityId").addClass('disabled');

          $.ajax({
            type: "POST",
            url: url,
            dataType: 'json',
            success: function(data){
              var length = data.length;
             
              if(length > 0) {

                result += '<option value=""><?php echo osc_esc_js(__('Select a region', 'zara')); ?></option>';
                for(key in data) {
                  result += '<option value="' + data[key].pk_i_id + '">' + data[key].s_name + '</option>';
                }

                $("#region").before('<div class="selector" id="uniform-regionId"><span><?php echo osc_esc_js(__('Select a region', 'zara')); ?></span><select name="regionId" id="regionId" ></select></div>');
                $("#region").remove();

                $("#city").before('<div class="selector" id="uniform-cityId"><span><?php echo osc_esc_js(__('Select a city', 'zara')); ?></span><select name="cityId" id="cityId" ></select></div>');
                $("#city").remove();
               
                $("#regionId").val("");
                $("#uniform-regionId").find('span').text('<?php echo osc_esc_js(__('Select a region', 'zara')); ?>');
              } else {

                $("#regionId").parent().before('<input placeholder="<?php echo osc_esc_js(__('Enter a region', 'zara')); ?>" type="text" name="sRegion" id="region" />');
                $("#regionId").parent().remove();
               
                $("#cityId").parent().before('<input placeholder="<?php echo osc_esc_js(__('Enter a city', 'zara')); ?>" type="text" name="sCity" id="city" />');
                $("#cityId").parent().remove();

                $("#city").val('');
              }

              $("#regionId").html(result);
              $("#cityId").html('<option selected value=""><?php echo osc_esc_js(__('Select a city', 'zara')); ?></option>');
              $("#uniform-cityId").find('span').text('<?php echo osc_esc_js(__('Select a city', 'zara')); ?>');
              $("#cityId").attr('disabled',true);
              $("#uniform-cityId").addClass('disabled');
            }
           });

         } else {

           // add empty select
           $("#region").before('<div class="selector" id="uniform-regionId"><span><?php echo osc_esc_js(__('Select a region', 'zara')); ?></span><select name="regionId" id="regionId" ><option value=""><?php echo osc_esc_js(__('Select a region', 'zara')); ?></option></select></div>');
           $("#region").remove();
           
           $("#city").before('<div class="selector" id="uniform-cityId"><span><?php echo osc_esc_js(__('Select a city', 'zara')); ?></span><select name="cityId" id="cityId" ><option value=""><?php echo osc_esc_js(__('Select a city', 'zara')); ?></option></select></div>');
           $("#city").remove();

           if( $("#regionId").length > 0 ){
             $("#regionId").html('<option value=""><?php echo osc_esc_js(__('Select a region', 'zara')); ?></option>');
           } else {
             $("#region").before('<div class="selector" id="uniform-regionId"><span><?php echo osc_esc_js(__('Select a region', 'zara')); ?></span><select name="regionId" id="regionId" ><option value=""><?php echo osc_esc_js(__('Select a region', 'zara')); ?></option></select></div>');
             $("#region").remove();
           }

           if( $("#cityId").length > 0 ){
             $("#cityId").html('<option value=""><?php echo osc_esc_js(__('Выбрать город', 'zara')); ?></option>');
           } else {
             $("#city").parent().before('<div class="selector" id="uniform-cityId"><span><?php echo osc_esc_js(__('Select a city', 'zara')); ?></span><select name="cityId" id="cityId" ><option value=""><?php echo osc_esc_js(__('Select a city', 'zara')); ?></option></select></div>');
             $("#city").parent().remove();
           }

           $("#regionId").attr('disabled',true);
           $("#uniform-regionId").addClass('disabled');
           $("#uniform-regionId").find('span').text('<?php echo osc_esc_js(__('Select a region', 'zara')); ?>');
           $("#cityId").attr('disabled',true);
           $("#uniform-cityId").addClass('disabled');
           $("#uniform-cityId").find('span').text('<?php echo osc_esc_js(__('Select a city', 'zara')); ?>');

        }
      });

      $("#regionId").live("change",function(){
        var pk_c_code = $(this).val();
        var url = '<?php echo osc_base_url(true)."?page=ajax&action=cities&regionId="; ?>' + pk_c_code;
        var result = '';

        if(pk_c_code != '') {
         
          $("#cityId").attr('disabled',false);
          $("#uniform-cityId").removeClass('disabled');

          $.ajax({
            type: "POST",
            url: url,
            dataType: 'json',
            success: function(data){
              var length = data.length;
              if(length > 0) {
                result += '<option selected value=""><?php echo osc_esc_js(__('Выбрать город', 'zara')); ?></option>';
                for(key in data) {
                  result += '<option value="' + data[key].pk_i_id + '">' + data[key].s_name + '</option>';
                }

                $("#city").before('<div class="selector" id="uniform-cityId"><select name="cityId" id="cityId" ></select></div>');
                $("#city").remove();

                $("#cityId").val("");
                $("#uniform-cityId").find('span').text('<?php echo osc_esc_js(__('Select a city', 'zara')); ?>');
              } else {
                result += '<option value=""><?php echo osc_esc_js(__('No cities found', 'zara')); ?></option>';
                $("#cityId").parent().before('<input type="text" placeholder="<?php echo osc_esc_js(__('Enter a city', 'zara')); ?>" name="sCity" id="city" />');
                $("#cityId").parent().remove();
              }
              $("#cityId").html(result);
            }
          });
        } else {
          $("#cityId").attr('disabled',true);
          $("#uniform-cityId").addClass('disabled');
          $("#uniform-cityId").find('span').text('<?php echo osc_esc_js(__('Select a city', 'zara')); ?>');
        }
      });

      if( $("#regionId").attr('value') == "")  {
        $("#cityId").attr('disabled',true);
        $("#city").attr('disabled',true);
        $("#uniform-cityId").addClass('disabled');
      }

      if($("#countryId").length != 0) {
        if( $("#countryId").attr('value') == "")  {
          $("#regionId").attr('disabled',true);
          $("#uniform-regionId").addClass('disabled');
        }
      }

      $(".row").on('change', '#cityId, #regionId', function() {
        $(this).parent().find('span').text($(this).find("option:selected" ).text());
      });

      $('.add_item .seller_info.logged input#contactName, .add_item .seller_info.logged input#contactEmail').prop('disabled', true);

    });
  </script>
 
Тут еще баг нашел небольшой в своем коде.... Если заходишь по адресу сайт.ру/search.php то в левом блоке, куда я и вкрячиваю пользовательские поля, не выводится список выпадающий главных категорий. За этот код отвечает кусок из functions.php где куча <ul> и <li>. Вот их надо заменить на <div>-ы , чтобы разбивка шла как надо. Пока с этим недовозился, может кто сам поковыряет.

работаем с item.php найти <!-- TITLE & DESCRIPTION --> и перед ним вставить - ошибка!! файл item-post.php надо редактировать. Сорри.
Спасибо уже разобрался
 
косяк с изменением местоположения, не сохраняет область, и город...ну это завтра уже переваривать буду
 
Кто нибудь знает где можно достать базу Категории и Подкатегории машин, игрушек , электроники и тд , формат xml, mysql без разницы


или поделитесь есть у кого ?
 
Не работает ваш код с принудительным выбором областей-городов при добавлении объявления. Просто поля оторбаражет для ввода, нет выпадения меню...
 
Плагины на все случаи (автопостинг на фейсбук , автораспределение местоположений юзеров , удобный переводчик плагинов и тем прямо из админки и тд )


Поделитесь xml файлом для категорий
 

Вложения

  • fb_post_page_plugin.zip
    30,6 KB · Просмотры: 133
  • easy_translator.zip
    25,5 KB · Просмотры: 130
  • 20151203013455_470_uilsync (1).zip
    5 KB · Просмотры: 121
  • advanced_metrics.zip
    57,9 KB · Просмотры: 125
  • full_breadcrumbs_3.0.0.zip
    290,1 KB · Просмотры: 95
  • backoffice_manager.zip
    98,9 KB · Просмотры: 106
Последнее редактирование:
Ребят а кто нить реализовывал такое: при подаче есть поле цена, хотелось бы чтобы при поиске работы там было написано заработная плата, вообще актуальная же тема. Кто делал поделитесь опытом)
 
Не работает ваш код с принудительным выбором областей-городов при добавлении объявления. Просто поля оторбаражет для ввода, нет выпадения меню...
js скрипт внизу файла добавьте, у меня все работает, сделал все с первого раза
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху