Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Всем доброго времени суток и с наступившим новым годом и рождеством!
Народ, подскажите пожалуйста.
Сделал вкладки и разделил темы для админки и для фронтенда.
в ThemesController.php
изначально было так:
public function index(ThemeRequest $request)
{
$themes = collect(\Theme::all());
$frontend_themes = $themes->where('type', 'frontend')->all();
$admin_themes = $themes->where('type', 'admin')->all();
$installed_themes = [];
foreach ($admin_themes as $theme) {
$installed_themes[] = ['version' => $theme->version, 'code' => $theme->name, 'license_key' => null];
}
foreach ($frontend_themes as $theme) {
$installed_themes[] = ['version' => $theme->version, 'code' => $theme->name, 'license_key' => null];
}
try {
$remote_updates = \Modules::checkForUpdates($request, $installed_themes, 'themes_remote_updates');
} catch (\Exception $exception) {
log_exception($exception, 'ThemesController', 'index');
}
return view('Theme::themes.index')->with(compact('frontend_themes', 'admin_themes', 'remote_updates'));
}
Я добавил просто несколько строк
public function index(ThemeRequest $request)
{
$themes = collect(\Theme::all());
$frontend_themes = $themes->where('type', 'frontend')->all();
$frontend_themest = $themes->where('type', 'frontends')->all();
$admin_themes = $themes->where('type', 'admin')->all();
$admin_themest = $themes->where('type', 'admins')->all();
$installed_themes = [];
foreach ($admin_themes as $theme) {
$installed_themes[] = ['version' => $theme->version, 'code' => $theme->name, 'license_key' => null];
}
foreach ($admin_themest as $theme) {
$installed_themes[] = ['version' => $theme->version, 'code' => $theme->name, 'license_key' => null];
}
foreach ($frontend_themes as $theme) {
$installed_themes[] = ['version' => $theme->version, 'code' => $theme->name, 'license_key' => null];
}
foreach ($frontend_themest as $theme) {
$installed_themes[] = ['version' => $theme->version, 'code' => $theme->name, 'license_key' => null];
}
try {
$remote_updates = \Modules::checkForUpdates($request, $installed_themes, 'themes_remote_updates');
} catch (\Exception $exception) {
log_exception($exception, 'ThemesController', 'index');
}
return view('Theme::themes.index')->with(compact('frontend_themes', 'admin_themes', 'frontend_themest', 'admin_themest', 'remote_updates'));
}
Кнопки деактив/актив
public function deactivateTheme(ThemeRequest $request, $type, $name)
{
try {
\Actions::do_action('pre_deactivate_theme', $request, $type);
// Check that theme exists
if (!\Theme::exists($name) || !in_array($type, ['admin', 'frontend', 'frontends', 'admins'])) {
throw new \Exception(trans('Theme::exception.theme.theme_not_exist'));
}
\Settings::set("active_{$type}_theme", config('themes.corals_' . $type));
$message = ['level' => 'success', 'message' => trans('Theme::labels.theme.theme_activated_successfully',['name' => $name])];
} catch (\Exception $exception) {
log_exception($exception, 'ThemesController', 'activate');
$message = ['level' => 'error', 'message' => $exception->getMessage()];
}
return response()->json($message);
}
public function activateTheme(ThemeRequest $request, $type, $name)
{
try {
\Actions::do_action('pre_activate_theme', $request, $type, $name);
// Check that theme exists
if (!\Theme::exists($name) || !in_array($type, ['admin', 'frontend', 'frontends', 'admins'])) {
throw new \Exception(trans('Theme::exception.theme.theme_not_exist'));
}
\Settings::set("active_{$type}_theme", $name);
$message = ['level' => 'success', 'message' => trans('Theme::labels.theme.theme_activated_successfully',['name' => $name])];
} catch (\Exception $exception) {
log_exception($exception, 'ThemesController', 'activate');
$message = ['level' => 'error', 'message' => $exception->getMessage()];
}
return response()->json($message);
}
Частично заработало.
Темы есть, могу нажать активировать/деактивировать, но активация/деактивация не происходит, тема не меняется.
В логах ничего нет. не пыхи, ни лары.
Подскажите, пожалуйста, где я мог допустить ошибку?
Спасибо.
Изменено ShardIce (07.01.2019 01:55:21)
Не в сети
Добрый человек сказал:
Надо по сути обработать полученные данные - вы их отдать отдали, а получать надо в скриптах фронтенда
Не понятно, как это сделать?!
и что нужно:
Обработку на фронтенде в файлах, генерящих header/footer админки с шаблоном
не совсем понятно.
Не в сети
Страницы 1