LaraClassified Доска объявлений на Laravel (скрипт + обновления)

Тема в разделе "Доски объявлений", создана пользователем rom4art2, 22 авг 2016.

XEvil 4.0 Релиз Состоялся!
  1. obyavkaby

    obyavkaby Писатель

    Регистр.:
    24 июл 2017
    Сообщения:
    9
    Симпатии:
    0
    Не проблема изменить, нет особо времени уделить доработке
     
  2. tp-20

    tp-20 Создатель

    Регистр.:
    23 июл 2020
    Сообщения:
    12
    Симпатии:
    0
    если нужно, могу помочь в мелких правках.
     
  3. tp-20

    tp-20 Создатель

    Регистр.:
    23 июл 2020
    Сообщения:
    12
    Симпатии:
    0
    http://prntscr.com/tr9u79
    Подскажите, как вывести города по алфавиту? Сейчас они выводятся рандомно (на скриншоте).
    Есть файл locations.blade.php (полный путь: resources/views/home/inc/locations.blade.php ).
    Там вывод городов формируется на 102 строке: {{ $city->name }}
    Смотрел функцию sortBy, но к результату не привело.

    Весь код такой:
    @foreach ($cities as $key => $items)
    <ul class="cat-list {{ $ulCol }} {{ (count($cities) == $key+1) ? 'cat-list-border' : '' }}">
    @foreach ($items as $k => $city)
    <li>
    @if ($city->id == 999999999)
    <a href="#browseAdminCities" id="dropdownMenu1" data-toggle="modal">{!! $city->name !!}</a>
    @else
    <a href="{{ \App\Helpers\UrlGen::city($city) }}">
    {{ $city->name }} // вот здесь нужно вывести города по алфавиту
    </a>
    @if ($loc['countCitiesPosts'])
    &nbsp;({{ $city->posts->count() }})
    @endif
    @endif
    </li>
    @endforeach
    </ul>
    @endforeach
     
  4. obyavkaby

    obyavkaby Писатель

    Регистр.:
    24 июл 2017
    Сообщения:
    9
    Симпатии:
    0
    если я правильно разобрался, города на главной выводятся согласно численности населения, введенных в настройках города
     
  5. tp-20

    tp-20 Создатель

    Регистр.:
    23 июл 2020
    Сообщения:
    12
    Симпатии:
    0
    большое спасибо! натолкнули меня на мысль.
    Править нужно файл /app/Http/Controllers/HomeController.php
    На 145-й строке изменил orderBy('population', 'DESC') на orderBy('name', 'ASC')
    [​IMG]
     
    Последнее редактирование: 31 июл 2020 в 11:33
  6. FOXS

    FOXS Создатель

    Регистр.:
    22 июн 2018
    Сообщения:
    42
    Симпатии:
    9
    И тебе тоже спасибо! Может кому такая адаптация пригодится Вот только бы скриншот по качественнее бы. :ay:
    Тоже применил в сайте твою адаптацию.
     
    Последнее редактирование: 31 июл 2020 в 11:28
  7. tp-20

    tp-20 Создатель

    Регистр.:
    23 июл 2020
    Сообщения:
    12
    Симпатии:
    0
    Косяки обнаружились.
    1. При регистрации вводим Имя, но как я понял, это не login, а просто имя, что в корне не правильно. Уникальность должна проверяться именно на логин.
    2. Тоже при регистрации - указываю номер телефона, но после регистрации в настройках профиля номер не отображается!
    3. В профиле - не возможно выбрать Пол, а без пола не сохраняются настройки. это обязательное поле. Выпадающий список Select просто отсутствует.

    Давайте пробовать решать.
     
  8. FOXS

    FOXS Создатель

    Регистр.:
    22 июн 2018
    Сообщения:
    42
    Симпатии:
    9
    Косяк по теме что выше На 145-й строке изменил orderBy('population', 'DESC') на orderBy('name', 'ASC')
     
  9. agnerfist

    agnerfist Создатель

    Регистр.:
    29 май 2020
    Сообщения:
    40
    Симпатии:
    5
    если правишь шаблонизатор blade, то будь любезен контроллеры, включая БД везде править, вот как пример https://question-it.com/questions/1...halnogo-soobschenija-soobschenie-expired_date
    В доках всё описано что и как https://laravel.com/docs/7.x/blade#introduction
     
  10. tp-20

    tp-20 Создатель

    Регистр.:
    23 июл 2020
    Сообщения:
    12
    Симпатии:
    0
    По-тихоньку изучаю движок... Сам спросил - сам и отвечаю))

    Чтобы отвязать "Пол" (сделать поле не обязательным) :
    1. идём в файл app/Http/Requests/UserRequest.php на 202-ю строку.
    2. убираем это условие: 'required'
    3. должно остаться так: 'gender_id' => ['not_in:0'],


    200 // Validation Rules
    201 $rules = [
    202 'gender_id' => ['required', 'not_in:0'],
    203 'name' => ['required', 'max:100'],
    204 'phone' => ['max:20'],


    4. После этого изменения в профиле успешно сохраняются.
    5. Соответственно в шаблоне в файле resources/views/account/edit.blade.php убираем или закомментируем кусок кода, отвечающий за вывод Пола. Кстати, там даже нет селекта (выпадающего списка) с выбором пола.
    [​IMG]

    Кстати, введённый телефон в формате +7... автоматически преобразуется в формат 8...

    Регулярка (маска) для телефона:
    В футер ( resources/views/layouts/inc/footer.blade.php ) подключаем js-скрипты:
    1. jquery - само собой
    2. jquery.maskedinput - скрипт для маски под любой инпут
    3. вызов скрипта, цепляем к инпуту с телефоном #phone


    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.maskedinput/1.4.1/jquery.maskedinput.js"></script>
    <script>
    jQuery( document ).ready(function(jQuery){
    jQuery("#phone").mask("8(999) 999-9999");
    });
    </script>

    В итоге получаем инпут с регуляркой:

    [​IMG]

    UPD =====================================
    Подскажите, где перевести на русский эту фразу - days ago.
    [​IMG]

    За её вывод отвечает переменная
    {{ $post->created_at_ta }} в файле resources/views/post/details.blade.php на 101-й строке.
    [​IMG]

    Но ни в globals.php, ни в БД не нашёл эти данные для перевода.
    В частности, слова 'ago' нет нигде в файлах с переводом.

     
    Последнее редактирование: 1 авг 2020 в 23:36