Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#26 Re: Laravel 5.x » вопрос » 14.04.2018 15:24:07

Можно ли сделать 1 авторизацию на домен и поддомен?

#28 Re: Laravel 5.x » Мультиязычность в Laravel 5 » 14.04.2018 14:26:48

У меня сделано так:

Идем в app\Http\Middleware, создаем файл LocaleMiddleware.php

PHP
// LocaleMiddleware.php
<?php
namespace App\Http\Middleware;

use 
Closure;
use 
App;
use 
Request;

class 
LocaleMiddleware
{
    public static 
$mainLanguage 'ru';
    public static 
$languages = ['en''ru'];

    public static function 
getLocale() {
        
$uri Request::path();
        
$segmentsURI explode('/',$uri);
        if (!empty(
$segmentsURI[0]) && in_array($segmentsURI[0], self::$languages)) {

            return 
$segmentsURI[0];

        } else {
            return  
self::$mainLanguage;
        }
    }

    public function 
handle($requestClosure $next) {
        
$locale self::getLocale();

        if(
$localeApp::setLocale($locale);

        return 
$next($request);
    }

}

Далее открываем папку config и редактируем файл app.php
нужно добавить в providers на выше созданный файл

PHP
App\Providers\RouteServiceProvider::class,

Последний шаг, открываем routes/web.php
В самый верх добавляем:

PHP
Route::get('/', function () {
    return 
redirect('/'App\Http\Middleware\LocaleMiddleware::$mainLanguage);
});

Route::get('lang/{lang}', function ($lang) {
    
$referer Redirect::back()->getTargetUrl();
    
$parse_url parse_url($refererPHP_URL_PATH);
    
$segments explode('/'$parse_url);
    if (
in_array($segments[1], App\Http\Middleware\LocaleMiddleware::$languages)) {
        unset(
$segments[1]);
    }

    
array_splice($segments10$lang);
    
$url Request::root().implode("/"$segments);
    if(
parse_url($refererPHP_URL_QUERY)){
        
$url $url.'?'parse_url($refererPHP_URL_QUERY);
    }
    return 
redirect($url);
})->
name('lang');

теперь оборачиваем все роуты в обертку

PHP
Route::group(['prefix' => App\Http\Middleware\LocaleMiddleware::getLocale()], function(){
    
Auth::routes();
    
Route::get('logout','Auth\LoginController@logout');
    
Route::get('/''HomeController@index')->name('home');
});

ссылки будут вида: mysite.com/ru

#29 Laravel 5.x » вопрос » 14.04.2018 14:13:43

fanaticus
Ответов: 1

Актуально ли использовать сессию пользователя в БД? В чем минусы этого?

#30 Laravel 5.x » вывод данных » 14.04.2018 13:17:50

fanaticus
Ответов: 3

Ребята помогите вывести данные в таком формате

PHP
{"homeTitle":"Главная","menuTitle":"Услуги",
"games":[{"title":"WoWLegions","navigationLinks":[{"destination":"/family/world-of-warcraft","name":"World of Warcraft","iconUrl":"/images/family/images.svg"}]}],
"balance":{"title":"Кошелек","navigationLinks":[{"destination":"/product/balance","name":"Пополнить кошелек","iconUrl":"/images/nav-icons/add-balance.svg"},{"destination":"/account/management/claim-code.html","name":"Использовать карту предоплаты","iconUrl":"/images/nav-icons/add-pre-paid-card.svg"},{"destination":"/account/management/transaction-history.html","name":"История кошелька","iconUrl":"/images/nav-icons/balance-history.svg"}]},
"services":{"title":"Дополнительные услуги","navigationLinks":[{"destination":"/product/name-change","name":"Смена имени","iconUrl":"/images/nav-icons/name-change.svg"},{"destination":"/account/management/claim-code.html","name":"Использовать код","iconUrl":"/static/1.12.1/images/nav-icons/add-balance.svg"}]},
"userBalance":{"available":"242.0","availableLocalized":"250 ₽","queued":"0.0","queuedLocalized":"0 ₽","queuedWarning":null,"queuedWarningHelp":null,"queuedWarningHelpUrl":null},"taxonomyLinks":[]}

#32 Re: Laravel 5.x » Регистрация пользователей » 25.03.2018 10:58:42

Я понимаю, но как это сделать в стандартной регистрации…

#33 Laravel 5.x » Регистрация пользователей » 25.03.2018 02:13:08

fanaticus
Ответов: 6

Возник такой вопрос, как реализовать подобную штуку без всяких заморочек и лишнего кода.

Я использую стандартную функцию регистрации и мне нужно сделать следующее.

Допустим я выбрал логин TestLogin но он занят. Как сделать что бы при регистрации в поле user_id записывалось +1.
То есть если пользователь регистрируется под логином TestLogin то в БД должно быть так:

name=TestLogin, user_id=1
name=TestLogin, user_id=2
name=TestLogin, user_id=3

кто может помочь?

#34 Re: Laravel 5.x » Перенос проекта laravel на хостинг » 25.03.2018 02:05:54

В корне сайта (там где файл .env) создайте файл .htaccess в него напишите это:

RewriteEngine On

RewriteRule ^(.*)$ public/$1

#40 Re: Laravel 5.x » Вывести инфо из бд » 16.03.2018 18:05:28

Откройте модель пользователя, там должен быть такой код

PHP
protected $fillable = [
   
'name''email''password',
];

добавьте в нее имя поля, что бы было так

PHP
protected $fillable = [
   
'name''email''password''phone',
];

Ну а так, посмотреть бы код.

#43 Re: Laravel 5.x » Можно ли использовать {{ }} в параметре url ajax-запроса? » 17.02.2018 03:03:20

// Route
Route::resource('fragment', 'AdminController', ['parameters' => ['fragment' => 'fragment']);
// Link
{{ route('admin.show', ['fragment' => $item->fragment) }}

Пример. Для сути.

#44 Laravel 5.x » Локализация » 17.02.2018 02:17:36

fanaticus
Ответов: 2

Всем привет.

Сделал локализацию сайта по данному мануалу

И возник вопрос.

Язык по умолчанию

public static $mainLanguage = 'ru';

Как сделать, что бы при выходе или входе пользователя оставался тот язык, который он выбрал. После авторизации выкидывает на язык указанный в   

public static $mainLanguage = 'ru';

Спасибо.

#45 Re: Laravel 5.x » Scout » 17.02.2018 02:11:33

// 1000 limit
$res = App\Airport::search('', function ($algolia, $query, $options) {

    $extraOptions = [
        'paginationlimitedto' => 1000,
    ];

    $options = array_merge($options, $extraOptions);

    return $algolia->search($query, $options);
});

Взято тут

#47 Re: Laravel 5.x » Авторизация и регистрация в laravel5.3 » 17.02.2018 02:05:18

Попробуйте создайте новый аккаунт, если ошибка повторится, то дело в самом laravel, если нет, то значит не верные данные.

#50 Re: Laravel 5.x » Проблема с session » 12.02.2018 01:16:25

Почему то, на контроллере комментариев нет сессии…

Подвал раздела