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

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

  1. tp-20

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

    Регистр.:
    23 июл 2020
    Сообщения:
    25
    Симпатии:
    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
  2. tp-20

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

    Регистр.:
    23 июл 2020
    Сообщения:
    25
    Симпатии:
    0
    Регулярка в имени при регистрации.
    Для того, чтобы нельзя было вводить левые символы.
    inline-код в html <input pattern='выражение'> - не сработал.

    1. Идём в файл app/http/requests/userrequest.php
    2. В 114-й строке добавляем саму регулярку:

    113 $rules = [
    114 'name' => ['regex:/^[a-zA-Zа-яА-Я0-9]+([-_]?[a-z0-9]+){0,4}$/i', 'required', new BetweenRule(4, 20)],


    На правильность регулярки не претендую, она может быть какой угодно.
    Главное сам смысл - как её вставить и куда.

    =============================

    Глюк с этой настройкой:
    Общие настройки - Ads Single Page
    [​IMG]
    Если в админке разрешено подавать объявление незарегистрированным пользователям и включена функция автоматической регистрации при подаче объявления, то наблюдается следующий косяк:
    1. страница бесконечно грузится и дальше ничего не происходит,
    2. но если остановить загрузку и перейти на главную, то объявление будет опубликовано.
    Это версия 7.1.0.
     
    Последнее редактирование: 4 авг 2020
  3. Snookie

    Snookie Создатель

    Регистр.:
    8 ноя 2018
    Сообщения:
    12
    Симпатии:
    2
    За ее вывод отвечает не переменная, а метод ago() объекта Carbon
    // Convert the created_at date to Carbon object
    Тут даже коммент от разработчиков движка есть
    и следуя из этого $post->created_at->ago();
    погуглите на тему "Вывод даты Carbon на русском"

    UPD: в файле app/Helpers/Functions/core.php $locale = 'en_US'; я поменял на 'ru' ну и в .env соответственно сменить нужно APP_LOCALE=ru
     
    Последнее редактирование: 4 авг 2020
    tp-20 нравится это.
  4. agnerfist

    agnerfist Создатель

    Регистр.:
    29 май 2020
    Сообщения:
    25
    Симпатии:
    4
    а правильно поменял ru_RU ?? в дотенв там ещё и надо часовой пояс сминить да и не только в этом файле локаль и часовой пояс+бд прописать
     
  5. tp-20

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

    Регистр.:
    23 июл 2020
    Сообщения:
    25
    Симпатии:
    0
    Спасибо, en_US заменил на ru_RU - помогло.
    в .env APP_LOCALE=ru уже было выставлено.

    Спасибо за нормальный ответ! Не перевелись ещё адекватные люди на форумах :)
     
  6. FOXS

    FOXS Постоялец

    Регистр.:
    22 июн 2018
    Сообщения:
    64
    Симпатии:
    11
    Не знаю почему у вас не сработало после первой установки, но у меня оно сразу работало без правки в app/Helpers/Functions/core.php $locale = 'en_US';
     
  7. Snookie

    Snookie Создатель

    Регистр.:
    8 ноя 2018
    Сообщения:
    12
    Симпатии:
    2
    Как я понимаю,
    // Get available locales from the server ---- exec('locale -a', $locales);
    из за этого... может из за разных конфигураций хостинга, сервера. А той правкой что я сделал - принудительно устанавливается русская локализация. Короче могу ошибаться в понятиях, но главное задача решена)
     
  8. tp-20

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

    Регистр.:
    23 июл 2020
    Сообщения:
    25
    Симпатии:
    0
    Подскажите, как сделать дополнительные поля конкретно для категории Авто?
    Странно, что в админке нельзя править категории!

    Сейчас есть такие поля:

    [​IMG]
    ================================
    Дальше.
    В БД в таблице lara_fields_options есть поле field_id где к уже существующей опции можно добавлять новые параметры.
    Например к field_id 29 к Бензину и Дизелю добавил Гибрид. Он есть в выпадающем списке и при создании объявления сохраняется в базе.

    А как сделать полностью новую опцию, например Объём двигателя?
    к примеру поставлю ей field_id 49 (последнее свободное число в field_id).

    Как скрипт поймёт, что оно будет относиться именно к Авто, а не к Недвижимости или любой другой категории?
    не нашёл привязку field_id к конкретной категории.

    [​IMG]


    =====================
    Вот к примеру добавил в БД в конец таблицы - Гибрид

    [​IMG]
     
    Последнее редактирование: 6 авг 2020
  9. FOXS

    FOXS Постоялец

    Регистр.:
    22 июн 2018
    Сообщения:
    64
    Симпатии:
    11
    А в админке разве нет опции что бы сделать дополнительное поле для категории ?
    Снимок.PNG
     
  10. Snookie

    Snookie Создатель

    Регистр.:
    8 ноя 2018
    Сообщения:
    12
    Симпатии:
    2
    Ты еще ему расскажи как на шаред-хостинге по ssh подключиться, если доступ не везде дают) И что он там скринами светанул, что теперь можно к его БД доступ получить?)) А то что вообще туда лезть не нужно, а править все из админки можно - не сказал