Контакты

Достижения

Все достижения (2)

Наибольший вклад в теги

Все теги (7)

Лучшие ответы пользователя

Все ответы (15)
  • Как поменять язык в laravel?

    @halenharper
    Мне стандартный способ Laravel не понравился.
    Надо писать фильтр, функцию, роут, меню.
    Решил использовать Laravel Localization
    Все подробно описано, все функции написаны. Просто вставить.

    Но если интересно, то вот как работало стандартными средствами:
    Middleware:
    public function handle($request, Closure $next)
        {
            $language = Request::cookie('lang', Config::get('app.locale'));
    
            App::setLocale($language);
    
            return $next($request);
        }


    Route:
    Route::group([ 'middleware' => ['maintenance_mode', 'locale']], function()
    {
        //Change language
        Route::get('set_lang/{id}', ['as' => 'set_lang', 'uses' => 'HomeController@set_lang']);
    }


    Controller:
    public function set_lang($id){
            $response = new \Illuminate\Http\Response('Set Lang');
            return $response->withCookie(cookie()->forever('lang', $id));
        }

    Само меню переключения во View:
    <li class="dropdown">
                        <a class="dropdown-toggle" data-toggle="dropdown" href="#">
                            {{ trans('main.'.config('app.locales')[Config::get('app.locale')]) }} <i class="fa fa-caret-down"></i>
                        </a>
                        <ul class="dropdown-menu dropdown-langs">
                            @foreach(config('app.locales') as $k=>$val)
                                @if(config('app.locale') != $k)
                                    <li><a href="{{ route('set_lang', ['id' = $k]) }}"> {{ trans('main.'.$val) }}</a></li>
                                @endif
                            @endforeach
                        </ul>
                        <!-- /.dropdown-user -->
                    </li>
    Ответ написан
    Комментировать
  • Как сделать подобный слайдер?

    @halenharper
    Комментировать
  • Laravel подсчет новостей в выбранной категории (включая подкатегории)?

    @halenharper
    На скорую руку, если я правильно понял, вывод на сайт:
    @foreach(Categories::all() as $category)
    {{ $category->name }} <span class="badge">{{ Post_categories::where('categories_id', $category->id)->count() }}</span>
    @endif

    Как модели построены?

    UPD
    Модель для категорий:
    class Categories extends Model {
    
        public function posts()
        {
    //Получаем множество постов, опубликованных в категории
            return $this->hasMany('App\PostCategories', 'categories_id', 'id');
        }
    
    }


    В контроллеле:
    public function index(){
    //Получаем коллекцию категорий, где есть посты. Есть постов в категории нет, то ее не будет в выборке.
            $categories = Categories::has('posts')->get();
            return view('index', compact('categories'));
        }


    Во вьюхе:
    @foreach($categories as $category)
    {{ $category->name }} <span class="badge">{{ $category->posts->count() }}</span>
    @endif
    Ответ написан
    1 комментарий
  • Как менять номер телефона на сайте в зависимости от времени?

    @halenharper
    Если уже совсем просто для своей местности, где date('h') время сервера. Можно date('h')+n - где n - разница во времени Вашего местонахождения и сервера.
    <?php
    if(date('h') >= 18 and date('h') <= 7){
     echo "звоните на мобильный";
    } else {
     echo "звоните на рабочий";
    }
    ?>

    Если усложнить, для разных регионов, то можно выдергивать время пользователя и подставлять в код.
    Ответ написан
    1 комментарий
  • Как сделать выпадающее меню на jquery?

    @halenharper
    Я бы посоветовал обратиться к Bootstrap или Bootstrap-ru в разделе Dropdowns или Выпадающее меню все описано с примерами.
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (14)