Yandex USER_NOT_PERMITTED

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

При использовании сервиса Yandex Pinger может вываливаться ошибка USER_NOT_PERMITTED. В их доке и помощи об этом ни слова. Если вы используете один из плагинов к CMS - http://site.yandex.ru/cms-plugins/ - то вполне можете словить эту ошибку. Лечится так:
  • Открываете http://site.yandex.ru/searches/
  • Выбираете свой поиск
  • Вкладка "Индексирование"
  • Жмёте "Указать URL с помощью HTTP запроса"
  • Нажимаете "Редактировать" возле пункта "Список ваших IP-адресов"

Drupal hook_form_FORM_ID_alter

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

Друпальский хук hook_form_FORM_ID_alter бывает нужен очень часто. Данный хук следует применить, если нужно слегка(или не слегка) изменить любую форму на сайте. Это может быть форма добавления материала, форма модуля Webform или любого другого. Для того чтобы реализовать хук - потребуется модуль. Как его написать - смотрите тут. В нём можно сразу же реализовать hook_form_FORM_ID_alter, при условии, что вы знаете id формы. Если не знаете - то узнать его не составит труда.

News HTML

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

Если вам нужно создать страницу новостей на своём сайте - то сделать это достаточно просто. Каждая новость будет представлять собой отдельный логический блок. Это может быть как контейнер div, так и таблица. Пусть это будет div. Давайте сразу дадим этому html элементу класс news. Выглядеть это будет так:
  1. <div class="news">
  2. <!-- Содержимое новости-->
  3. </div>
А в содержимом новости будут её заголовок, фото, краткое содержание и ссылка на полную новость. Например:
  1. <div class="news">
  2. <h2>Всё новое из мира HTML</h2></div>

Array PHP MySQL

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

Для хранения данных удобно использовать массивы. В этой статье мы рассмотрим цикл Массив <-> База Данных <-> Массив Примеры будут приведены с использованием библиотеки PDO и устаревшего, но простого mysql_query. Начнём с массива. Предположим что у нас есть массив товаров примерно следующего содержания:
  1. $products = array(
  2. 'title' => 'Яблоки',
  3. 'price' => 17,
  4. 'catalog' => 1,
  5. 'count' => 114,
  6. ),
  7. 'title' => 'Груши',
  8. 'price' => 25,
  9. 'catalog' => 1,
  10. 'count' => 85,
  11. ),
  12. 'title' => 'Молоко',

Drupal settings.php

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

Это единственный конфигурационный файл в Друпал, до восьмой версии. В нём хранится логин и пароль для доступа к БД, название домена сайта и несколько надстроек над PHP. Вы также можете самостоятельно добавить туда любую информацию, например какие-то конфигурационные данные. Это переменные будут глобальными и их можно будет использовать в любом модуле. Главное не забывать объявлять их в теле функции как глобальные. Например:
  1. $conf['secret_login'] = 'adminko';
  2. $conf['secret_pass'] = 'hGcSD.ujdD';
А затем внутри любой функции просто пишите:
  1. global $conf;

Изменение регистра первой буквы

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

Если одну и туже запись нужно выводить то с большой, то с маленькой буквы - можно использовать следующую функцию.
  1. function drupal_first_letter($string, $choice = NULL) {
  2. if (!in_array($choice, array('up', 'down'))) {
  3. return $string;
  4. }
  5. if ($choice == 'up') {
  6. $fl = drupal_strtoupper(drupal_substr($string, 0, 1));
  7. }
  8. else {
  9. $fl = drupal_strtolower(drupal_substr($string, 0, 1));
  10. }
  11. return $fl . drupal_substr($string, 1);
  12. }

foreach в JavaScript

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

Часто используемой php`шной функции foreach в JavaScript`е нет. Поэтому следует использовать конструкцию for. Это достаточно просто.
  1. <script type="text/javascript">
  2. var data = new Array('house', 'table', 'Drupal');
  3. for (var key in data) {
  4. var val = data[key];
  5. alert (key + ' = ' + val);
  6. }
  7. </script>

Первая буква в верхний регистр

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

В css есть замечательное свойство - text-transform, которое может иметь ряд значений, а именно: capitalize, lowercase, uppercase, none и inherit. Этими свойствами можно сделать заглавными первые буквы каждого слова, перевести в верхний регистр все символы, перевести в нижний, ничего не делать и взять значение от родителя. Но ни одно значение этого свойства не может сделать заглавной только одну первую букву строки. Разве что capitalize, которое сделает заглавной каждую букву каждого слова, что не всегда удобно. Обойти это можно средствами PHP при помощи такой вот функции:

Измерение скорости выполнения скрипта

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

Иногда скрипты отрабатываются по несколько секунд. Это допустимо, но не всегда приемлемо. Можно использовать дебагеры и отладчики для поиска узких мест. Но установить и настроить их сможет не каждый. Самым быстрым вариантом будет измерение скорости работы скрипта следующим образом. Вначале скрипта поместите такой код:
  1. $script_start = microtime(TRUE);
А в конце такой:
  1. $script_end = microtime(TRUE);
  2. $script_time = $script_end - $script_start;
Теперь в переменной
  1. $script_time
хранится время работы скрипта в секундах.

За что я не люблю Drupal

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

Однажды мне нужно было сделать сайт. В программировании я почти ноль и поэтому решил использовать CMS. Мой выбор пал на Drupal, будь он неладен. В сети было много отзывов о его крутизне. Какие-то люди "гуру"(об этих отморозках чуть позже) брызжа слюной утверждали, что на нём можно собрать всё что угодно - от сайта визитки до социальной сети или интернет магазина, причём, внимание, без единой строчки кода! Им бы лучше сковородки людям втюхивать, три по цене одной.
Ну это же здорово, решил я. Сказано - сделано.