Все про Osclass

Статус
В этой теме нельзя размещать новые ответы.
Ребята, ну что никто не знает как реализовать страны, области и города выпадающим списком в шаблоне Вероники через select? И как выдернуть код запоминания области и города?
Кто подскажет, тому скину уже переработанный шаблон... Сайт смотрите в моём профиле...
 
Плагины-то подгружаются, и выводятся. НО related_ads показываются сразу после описания. А я хочу вообще в самом низу после всей инфо по объявлению, чтобы не мельтешило и не отвлекало внимание другими айтемами.

скачай изменый плагин Для просмотра ссылки Войди или Зарегистрируйся ,в нем отключи /Related Ads AutoEmbed / и тогда перемести код
Код:
<div id="related-block">
      <?php if(function_exists('related_ads_start')) { related_ads_start(); } ?>
    </div>
после комментариев

Ребята, ну что никто не знает как реализовать страны, области и города выпадающим списком в шаблоне Вероники через select? И как выдернуть код запоминания области и города?
Кто подскажет, тому скину уже переработанный шаблон... Сайт смотрите в моём профиле...
Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование модератором:
Сейчас занимаюсь написанием приложения подДля просмотра ссылки Войди или ЗарегистрируйсяOsclass CMS, может быть у кого-нибудь есть нормальное REST API? Я нашел Для просмотра ссылки Войди или Зарегистрируйся какое-то, исправил несколько косяков (исправленную версию прикрепил к сообщению), но много чего не реализовано. Так же нашел Для просмотра ссылки Войди или Зарегистрируйся, но его пока не тестировал.

Вот демонстрационный Для просмотра ссылки Войди или Зарегистрируйся первого API.
Примеры:
1. Получаем список категорий включая все языки.
Для просмотра ссылки Войди или Зарегистрируйся

2. Получаем детали категории, например id = 100 (не работает)
Для просмотра ссылки Войди или Зарегистрируйся

3. Получаем список всех объявлений в категории, например id = 100 (не работает)
Для просмотра ссылки Войди или Зарегистрируйся

4. Получаем детали объявления, например id = 11 (не работает)
Для просмотра ссылки Войди или Зарегистрируйся

5. Получаем ресурсы объявления, например id = 11
Для просмотра ссылки Войди или Зарегистрируйся
Занимаюсь этим уже месяц, есть наработки. Отпишитесь в личку, я думаю мы с вами сработаемся.
 
Заменить в 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>
Что-то не работает ваше решение! Выводит 3 пустых поля страна, область и город...
 
в управлении для начала надо добавить страны,регионы,города
Страны, области и города и так задействованы
Только не понятно почему в скрипте стоит шаблон zara, который нужно прикрепить к низу файла
 
Страны, области и города и так задействованы
Только не понятно почему в скрипте стоит шаблон zara, который нужно прикрепить к низу файла
так как этот скрипт срабатывает на веронике,просто зара замени на вероника
 
Наименование zara никак не влияет на работу скрипта, это нужно для перевода в будущем, можете поменять на свой

Js обязательно нужно указать в конце файла, перед ссылкой на footer , если в коде имеется footer
 
так как этот скрипт срабатывает на веронике,просто зара замени на вероника
Заменил, но всё так же... Какое ты управление имеешь ввиду по странам, областям, городам?
 

Вложения

  • Безымянный.jpg
    Безымянный.jpg
    267,1 KB · Просмотры: 100
Наименование zara никак не влияет на работу скрипта, это нужно для перевода в будущем, можете поменять на свой

Js обязательно нужно указать в конце файла, перед ссылкой на footer , если в коде имеется footer

Ну я же врать не буду, посмотри пост выше как это работает... и перед footer весь скрипт добавил и под веронику всё сделал..
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху