Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Установил sleeping owl, в доках написано
Конфигурация моделей SleepingOwl Admin должны быть расположены в директории bootstrapDirectory
создал папку bootstrapDirectory в app/Admin
там создаю файл Photo.php
в нем пишу следующее
<?php
Admin::model(App\Model\Photo::Photo);
моя модель Photo находится в app/Model/Photo.php
там такой код
<?php namespace App\Model;
use SleepingOwl\Models\SleepingOwlModel;
use Illuminate\Database\Eloquent\Model;
class Photo extends SleepingOwlModel {
protected $table = 'photo';
protected $primaryKey = 'photo_id';
public $timestamps = false;
protected $fillable = [
'photo_symbol_id',
'photo_src',
'photo_nationality_id',
'photo_color_id',
'photo_type_id',
'photo_moderation_id'
];
public function newUserUpload($save_path){
$this->photo_src = $save_path;
$this->photo_moderation_id = 2;
$this->save();
}
}
при попытке запуска ловлю ошибку
Undefined class constant 'Photo'
Не в сети
bootstrapDirectory по умолчанию это
app/admin/
То есть модель админки должна быть в app/Admin/Photo.php
Изменено iy_expert (17.10.2016 12:10:07)
Не в сети
bootstrapDirectory по умолчанию это
app/admin/
То есть модель админки должна быть в app/Admin/Photo.php
я регистрирую модель Photo, Добавляю туда
<?php
Admin::model(app\Model\Photo::class)->title('Фото')->with('photo_src')
->columns(function ()
{
Column::string('photo_src', 'Src');
}) ->form(function()
{
FormItem::text('photo_src', 'photo_src');
});
когда пытаюсь обратиться к admin/photo
получаю
You need to provide valid action for this route.
Не в сети
А просто admin/ работает?
Попробуй admin/photos
Не в сети
А просто admin/ работает?
Попробуй admin/photos
просто admin/ работает
если пробую admin/photos получаю Class 'app\Model\Photo' not found
Не в сети
кстати ответ на первый вопрос темы был такой
нужно было поменять
App\Model\Photo::Photo
на
App\Model\Photo::class
Не в сети
А где написана версия совы или лары?
Как же Нам, Многоуважаемому Сообществу Вам Помогать, если Вы, Многоуважаемые Вопрошатели не хотите сообщать деталей?
Страны для совы с поддержкой локализаций.
app\Admin\Country.php
<?php
use App\Model\Country;
use SleepingOwl\Admin\Model\ModelConfiguration;
AdminSection::registerModel( Country::class, function ( ModelConfiguration $model )
{
$model->setTitle( 'Countries' );
$model->onDisplay( function ()
{
$display = AdminDisplay::datatables()->setHtmlAttribute( 'class', 'table-primary table-hover' );
$display->setColumns(
AdminColumn::text( 'country_id' )->setLabel( 'Country ID' )->setWidth( '100px' )->setHtmlAttribute( 'class', 'text-right' ),
AdminColumn::link( 'title' )->setLabel( 'Title' )
)->paginate( 10 );
return $display;
} );
$model->onCreateAndEdit( function ( $id = null )
{
$panel = AdminForm::panel()
->addBody(
AdminFormElement::text( 'title', 'Country' )->required(),
AdminFormElement::text( 'country_id', 'Country ID for «' . \App::getLocale() . '» Locale' )->required(),
AdminFormElement::hidden( 'lang' )->required()->setDefaultValue(\App::getLocale())
)
;
$panel ->getButtons()->hideDeleteButton();
return $panel ;
} );
} );
app\Model\Country.php
<?php
namespace App\Model;
use App\Scopes\LangScope;
use Illuminate\Database\Eloquent\Model;
class Country extends Model
{
protected $fillable = [ 'country_id', 'title', 'lang', ];
public $incrementing = false;
public $timestamps = false;
protected $primaryKey = 'country_id';
/**
* The "booting" method of the model.
*
* @return void
*/
protected static function boot()
{
parent::boot();
static::addGlobalScope( new LangScope );
}
}
app\Scopes\LangScope.php
<?php
namespace App\Scopes;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Scope;
class LangScope implements Scope
{
public function apply( Builder $builder, Model $model )
{
$builder->where( 'lang', '=', \App::getLocale() );
}
}
в итоге у каждого языка интерфейса проекта (будь то locale = en или ru
Будет свой сет Списка стран на языке того интерфейса, что активен в данный момент.
Всё относительно лары 5.3 и совы 4.0
Не в сети
Страницы 1