Создание сайта на Drupal 8

Опубликовано 2015.04.04 в разделе Drupal.

В этой серии статей мы разберем основы Drupal 8, начиная от установки и заканчивая небольшим практическим заданием. На данный момент(апрель 2015) восьмёрка ещё сыровата и модулей для неё мало, но знакомиться с ней уже давно пора. Если вы ещё не работали с Drupal - лучше начинайте с 8, пока научитесь и поймёте что там к чему - система будет гораздо стабильнее.

Выбор хорошего хостинга для ваших веб-сайтов

Опубликовано 2017.08.03 в разделе Разное.

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

Как сделать код красивым и удобночитаемым. Процедуры, функции и классы в PHP.

Опубликовано 2017.02.06 в разделе Php.

Уметь писать код - не значит уметь делать это правильно. Хороший код - это как красиво оформленный пост - его удобно читать, в нём легко ориентироваться и разработчику всегда понятно как его расширить, отладить или использовать для других целей.

Поэтому всегда важно уделять внимание оформлению кода, комментировать сложные участки кода.

Вначале немного теории. Один и тот же код можно писать разными способами. Код может быть процедурным, функциональным и объектно-ориентированным.

Возможности console.log

Опубликовано 2017.01.27 в разделе JavaScript.

Для вывода отладочных сообщений в JavaScript используют команду console.log, о ней знают все, кто хоть сколько-нибудь связан с web-разработкой.

Она выводит строку, число или объект.

Например:

  1. var m = {q:4,d:6};
  2. console.log(m);

Выведет:

Но можно задать отладочным сообщениям оформление.

Например:

  1. console.log("%c%s","color: red; background: yellow; font-size: 20px;","Debug message")

Выведет:

Просмотр SQL запроса в Laravel

Опубликовано 2016.10.12 в разделе Php.

Перед запросом нужно включить логирование и уже после него смотреть лог. Всё прекрасно работает.
  1. DB::enableQueryLog();
  2. $views = DB::table('real_views')
  3. ->leftJoin('node_info', 'node_info.nid', '=', 'real_views.nid')
  4. ->select('node_info.nid as node_nid','real_views.nid as real_nid')
  5. ->where('real_views.id', '>', $start_id)
  6. ->orderBy('real_views.id', 'asc')
  7. ->take(10)
  8. ->get();
  9. print_r(DB::getQueryLog());

Отправка POST запроса и получение ответа в Laravel

Опубликовано 2016.10.06 в разделе Php.

В начале контроллера пишем:
  1. use GuzzleHttp\Client;
И далее в нужном вам методе:
  1. $options = [
  2. 'name' => 'my name',
  3. 'client_id' => 'my client_id',
  4. 'client_secret' => 'my client_secret',
  5. ];
  6.  
  7. $client = new Client();
  8. $res = $client->request('POST', 'https://oauth.server.local/token', ['form_params' => $options]);
  9. echo $res->getBody();
Что интересно - ни водном мануале я не смог нагуглить, что переменные надо складывать в переменную массива с ключем form_params!

Получить конфиг в Laravel

Опубликовано 2016.10.06 в разделе Php.

Чтобы получить конфиг скажем из файла services.php - достаточно использовать следующий код:
  1. //пример конфига в services.php
  2. 'yandex' => [
  3. 'client_id' => '95869100dkfdo48gjc32269826ef926a',
  4. 'client_secret' => '191b012b2299e7jfye4hv789gd03ee6c9',
  5. 'redirect' => 'http://localhost/test-oauth',
  6. ],
  7.  
  8. //выведет 191b012b2299e7jfye4hv789gd03ee6c9
  9. config('services.yandex.client_secret');

Создание урла с middleware в Laravel

Опубликовано 2016.10.05 в разделе Php.

Создаёте контроллер, например CronController (в консоли php artisan make:controller CronController):
  1. namespace App\Http\Controllers;
  2.  
  3. use Illuminate\Http\Request;
  4.  
  5. use App\Http\Requests;
  6. use Illuminate\Support\Facades\DB;
  7.  
  8. class CronController extends Controller
  9. {
  10.  
  11. public function myCallback() {
  12. echo __FUNCTION__;
  13. }
  14. }
Затем создаёте middleware, например с именем LocalhostOnly (в консоли php artisan make:middleware LocalhostOnly)
  1. namespace App\Http\Middleware;
  2.  
  3. use Closure;
  4.  
  5. class LocalhostOnly
  6. {
  7. /**

Подружить Admin menu и Toolbar

Опубликовано 2016.09.18 в разделе Drupal.

Чтобы подружить эти 2 модуля - включайте:
  • Administration menu
  • Administration menu Toolbar style
  • Toolbar
Создавайте свой модуль и в нём пропишите следующий хук:
  1. function mymodule_theme_registry_alter(&$theme_registry) {
  2. $theme_registry['toolbar']['path'] = $theme_registry['toolbar']['theme path'] = drupal_get_path('module', 'mymodule');
  3. }
Затем в папку модуля положите файл с именем toolbar.tpl.php и содержимым:
  1. <div id="toolbar" class="<?php print $classes; ?> clearfix"></div>