Задать вопрос
@Romantik1991

Как решить проблему с route в админке SleepingOwl Laravel?

Привет.
Проблема админки SleepingOwl.
При нажатии на кнопку редактора ckeditor "Загрузить изображение с сервера" обращается к контроллеру \vendor\sleeping-owl\admin\src\SleepingOwl\Admin\Controllers\ImagesController.phpImagesController@getAll и там загружаются все изображения и кодируются слеши параметров при получении пути через route() в классе \Illuminate\Routing\UrlGenerator@toRoute() .
a7d38bf4-9901-11e5-9116-98e2c3b8cc89.png
\vendor\sleeping-owl\admin\src\SleepingOwl\Admin\Controllers\ImagesController.phpImagesController@getAll
...	
	function __construct(Finder $finder, Filesystem $filesystem)
	{
		$this->finder = $finder;
		$this->filesystem = $filesystem;
	}

	/**
	 * Get all images within "images" directory without "seeds" subdirectories
	 *
	 * @return array
	 */
	public function getAll()
	{
		$files = $this->getAllFiles();
		$result = [];
		foreach ($files as $file)
		{
			$result[] = $this->createImageObject($file);
		}
		return $result;
	}

	/**
	 * @return Finder
	 */
	protected function getAllFiles()
	{
		return $this->finder->create()->exclude('seeds')->files()->in(Config::get('admin.imagesDirectory'));
	}

	/**
	 * @param SplFileInfo $file
	 * @return StdClass
	 */
	protected function createImageObject(SplFileInfo $file)
	{
		$obj = new StdClass;
		$path = $file->getRelativePathname();
		$obj->url = <b>route</b>('imagecache', [
			'original',
			$path
		]);
		$obj->thumbnail = route('imagecache', [
			'small',
			$path
		]);
		return $obj;
	}
..

\Illuminate\Routing\UrlGenerator
...
protected function toRoute($route, $parameters, $absolute)
{
$parameters = $this->formatParameters($parameters);

    $domain = $this->getRouteDomain($route, $parameters);

    $uri = strtr(<b>rawurlencode</b>($this->addQueryString($this->trimUrl(
        $root = $this->replaceRoot($route, $domain, $parameters),
        $this->replaceRouteParameters($route->uri(), $parameters)
    ), $parameters)), $this->dontEncode);

    return $absolute ? $uri : '/'.ltrim(str_replace($root, '', $uri), '/');
}

rawurlencode() и кодирует.
Эта стандартный класс \Illuminate\Routing\UrlGenerator и как обойти все это красиво не ясно.
Laravel 5.1.
Помогите пожалуйста.
Спасибо.
  • Вопрос задан
  • 681 просмотр
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы