Alltobiz

#wordpress #backend #верстка

https://alltobiz.ru/

Разработка корпоративного сайта полного цикла.

Верстка и фронтенд

Так как дизайн был кастомный, под него строилась индивидуальная верстка.
Gulp сборка. Препроцессор SCSS.

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

Так же сложность верстки оказалась во многих ассиметричных элментах дизайна, которые априори трудно адаптировать, если не продумать их поведение. Было сложно, но в целом получилось добиться результата.

Еще так сложилось, что половина мобильной верстки не было прописано в дизайне :). Пришлось додумывать самому, но вышло неплохо

Бэкенд

Для разработки заказчиком был выбран Wordpress. Для корпоративного сайта довольно неплохой выбор. Бэкенд был реализован довольно быстро и без особо сильных проблем.

Первая сложность заключалась в кастомных блоках. Заказчик хотел, чтобы большинство элементов, почти все, на странице услуги была редактируемы, так как подразумевался широкий спектр услуг. Каждый блок был уникален по дизайну. Поэтому требовалось заносить информацию через мета. Для решения этой задачи я выбрал плагин Lazy Blocks. Он позволяет создавать уникальные блоки для стандартного редактор Гутенберг прямо в поле контента. Получлось очень удобно и нативно.

Вторая сложность была связано с организацией меню. Дело в том, что этот сайт был корпоративный, но в нем подразумевалось множество самостоятельных разделов и направлений. И для каждого раздела планировалось отдельное меню и навигация. Поэтому было реализовано кастомное меню, которое потом вошло в общую логику мультисайта. Для каждого меню был реализован отдельный шаблон.

Еще один непростой момент - это мультисайт. Клиент пожелал, чтобы были не только подразделы, но и на каждый из них был реализован поддомен. Соответсвенно хотелось, чтобы это все было на одном сайте. Для этого была подключена нативная поддержка Вордпресс режима мультисайт. То есть вся админка разделилась на n-ое количество сайтов со своим контентом, меню и др. Но при это все находилось на одном Вордпресс с одной Базой. Эта тема вызвала некоторое время ресерча и настройки, но в целом все получилось.

К концу работы была оформлена Документация.

Сайтом клиент остался доволен. А это одно из самых главных достижений)

Exception

Error

We're sorry, but an unhandled error occurred. Please see the details below.

file_put_contents(/home/admin/web/alex.dzen-code.ru/public_html/storage/framework/cache/11/de/11de31e1eabb2682cf62ee9c9ccb0630f1019006): failed to open stream: Permission denied

/home/admin/web/alex.dzen-code.ru/public_html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php line 122

     * @param  string  $contents
     * @param  bool  $lock
     * @return int
     */
    public function put($path, $contents, $lock = false)
    {
        return file_put_contents($path, $contents, $lock ? LOCK_EX : 0);
    }
 
    /**
     * Prepend to a file.
     *
     * @param  string  $path

Stack trace

# Called Code Document Line
30 file_put_contents(…) ~/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php 122
29 Illuminate\Filesystem\Filesystem->put(…) ~/vendor/october/rain/src/Filesystem/Filesystem.php 217
28 October\Rain\Filesystem\Filesystem->put(…) ~/vendor/laravel/framework/src/Illuminate/Cache/FileStore.php 65
27 Illuminate\Cache\FileStore->put(…) ~/vendor/laravel/framework/src/Illuminate/Cache/Repository.php 191
26 Illuminate\Cache\Repository->put(…) ~/vendor/october/rain/src/Halcyon/MemoryRepository.php 61
25 October\Rain\Halcyon\MemoryRepository->put(…) ~/vendor/laravel/framework/src/Illuminate/Cache/Repository.php 323
24 Illuminate\Cache\Repository->remember(…) ~/vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php 304
23 Illuminate\Cache\CacheManager->__call(…) ~/vendor/october/rain/src/Database/QueryBuilder.php 158
22 October\Rain\Database\QueryBuilder->getCached(…) ~/vendor/october/rain/src/Database/QueryBuilder.php 121
21 October\Rain\Database\QueryBuilder->getDuplicateCached(…) ~/vendor/october/rain/src/Database/QueryBuilder.php 92
20 October\Rain\Database\QueryBuilder->get(…) ~/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php 481
19 Illuminate\Database\Eloquent\Builder->getModels(…) ~/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php 465
18 Illuminate\Database\Eloquent\Builder->get(…) ~/vendor/laravel/framework/src/Illuminate/Database/Concerns/BuildsQueries.php 77
17 Illuminate\Database\Eloquent\Builder->first() ~/modules/system/behaviors/SettingsModel.php 114
16 System\Behaviors\SettingsModel->getSettingsRecord() ~/modules/system/behaviors/SettingsModel.php 76
15 System\Behaviors\SettingsModel->instance() ~/modules/system/behaviors/SettingsModel.php 135
14 System\Behaviors\SettingsModel->get(…)
13 call_user_func_array(…) ~/vendor/october/rain/src/Extension/ExtendableTrait.php 414
12 October\Rain\Database\Model->extendableCall(…) ~/vendor/october/rain/src/Database/Model.php 647
11 October\Rain\Database\Model->__call(…) ~/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php 1489
10 Illuminate\Database\Eloquent\Model::__callStatic(…) ~/modules/system/models/EventLog.php 37
9 System\Models\EventLog::useLogging() ~/modules/system/ServiceProvider.php 286
8 System\ServiceProvider->System\{closure}(…)
7 call_user_func_array(…) ~/vendor/october/rain/src/Events/Dispatcher.php 233
6 October\Rain\Events\Dispatcher->dispatch(…) ~/vendor/laravel/framework/src/Illuminate/Log/Writer.php 295
5 Illuminate\Log\Writer->fireLogEvent(…) ~/vendor/laravel/framework/src/Illuminate/Log/Writer.php 201
4 Illuminate\Log\Writer->writeLog(…) ~/vendor/laravel/framework/src/Illuminate/Log/Writer.php 114
3 Illuminate\Log\Writer->error(…) ~/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php 221
2 Illuminate\Support\Facades\Facade::__callStatic(…) ~/vendor/october/rain/src/Foundation/Exception/Handler.php 66
1 October\Rain\Foundation\Exception\Handler->report(…) ~/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php 81
0 Illuminate\Foundation\Bootstrap\HandleExceptions->handleException(…)