?

Log in

No account? Create an account

echo $ linux

$_- The default parameter for a lot of functions.
$.- Holds the current record or line number of the file handle that was last read. It is read-only and will be reset to 0 when the file handle is closed.
$/- Holds the input record separator. The record separator is usually the newline character. However, if $/ is set to an empty string, two or more newlines in the input file will be treated as one.
$,- The output separator for the print() function. Nor-mally, this variable is an empty string. However, setting $, to a newline might be useful if you need to print each element in the parameter list on a separate line.
$\-- Added as an invisible last element to the parameters passed to the print() function. Normally, an empty string, but if you want to add a newline or some other suffix to everything that is printed, you can assign the suffix to $.
$#-- The default format for printed numbers. Normally, it's set to %.20g, but you can use the format specifiers covered in the section "Example: Printing Revisited" in Chapter 9to specify your own default format.
$%-- Holds the current page number for the default file handle. If you use select() to change the default file handle, $% will change to reflect the page number of the newly selected file handle.
$=-- Holds the current page length for the default file handle. Changing the default file handle will change $= to reflect the page length of the new file handle.
$- -- Holds the number of lines left to print for the default file handle. Changing the default file handle will change $- to reflect the number of lines left to print for the new file handle.
$~-- Holds the name of the default line format for the default file handle. Normally, it is equal to the file handle's name.
$^-- Holds the name of the default heading format for the default file handle. Normally, it is equal to the file handle's name with _TOP appended to it.
$|-- If nonzero, will flush the output buffer after every write() or print() function. Normally, it is set to 0.
$$-- This UNIX-based variable holds the process number of the process running the Perl interpreter.
$?-- Holds the status of the last pipe close, back-quote string, or system() function.
$&-- Holds the string that was matched by the last successful pattern match.
$`- Holds the string that preceded whatever was matched by the last successful pattern match.
$'-- Holds the string that followed whatever was matched by the last successful pattern match.
$+-- Holds the string matched by the last bracket in the last successful pattern match. For example, the statement /Fieldname: (.*)|Fldname: (.*)/ && ($fName = $+); will find the name of a field even if you don't know which of the two possible spellings will be used.
$*-- Changes the interpretation of the ^ and $ pattern anchors. Setting $* to 1 is the same as using the /m option with the regular expression matching and substitution operators. Normally, $* is equal to 0.
$0-- Holds the name of the file containing the Perl script being executed.
$-- This group of variables ($1, $2, $3, and so on) holds the regular expression pattern memory. Each set of parentheses in a pattern stores the string that match the components surrounded by the parentheses into one of the $ variables.
$[-- Holds the base array index. Normally, it's set to 0. Most Perl authors recommend against changing it without a very good reason.
$]-- Holds a string that identifies which version of Perl you are using. When used in a numeric context, it will be equal to the version number plus the patch level divided by 1000.
$"-- This is the separator used between list elements when an array variable is interpolated into a double-quoted string. Normally, its value is a space character.
$;-- Holds the subscript separator for multidimensional array emulation. Its use is beyond the scope of this book.
$!-- When used in a numeric context, holds the current value of errno. If used in a string context, will hold the error string associated with errno.
$@-- Holds the syntax error message, if any, from the last eval() function call.
$<- This UNIX-based variable holds the read uid of the current process.
$>-- This UNIX-based variable holds the effective uid of the current process.
$)-- This UNIX-based variable holds the read gid of the current process. If the process belongs to multiple groups, then $) will hold a string consisting of the group names separated by spaces.
$:-- Holds a string that consists of the characters that can be used to end a word when word-wrapping is performed by the ^ report formatting character. Normally, the string consists of the space, newline, and dash characters.
$^D-- Holds the current value of the debugging flags. For more information.
$^F-- Holds the value of the maximum system file description. Normally, it's set to 2. The use of this variable is beyond the scope of this book.
$^I-- Holds the file extension used to create a backup file for the in-place editing specified by the -i command line option. For example, it could be equal to ".bak."
$^L-- Holds the string used to eject a page for report printing.
$^P- This variable is an internal flag that the debugger clears so it will not debug itself.
$^T-- Holds the time, in seconds, at which the script begins running.
$^W-- Holds the current value of the -w command line option.
$^X-- Holds the full pathname of the Perl interpreter being used to run the current script.

Теги:

Книги

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

Посмотреть, что можно скачать...Свернуть )

Вдруг кому пригодится.


Теги:

Сегодня я хочу закончить наши уроки по изучению drupal7. Конечно, все что я рассказал за несколько недель является лишь "верхушкой айсебрга". Чтобы достаточно хорошо уметь работать с друпалом, надо прочитать кучу литературы и пересмотреть сотни видео. В связи с этим, я хочу порекомендовать вам для начала прочитать книжку: Todd Tomlison - Beginning Drupal (на англ. языке), в которой подробно объяснены основы работы с CMS.



Скачать

Также много интересного (книги + видео) можно НАЙТИ на рутрекере.

И конечно же, не стоит забывать youtube.

К сожалению, большинство информации о drupal7 на английском языке. Поэтому, в следующем году я собираюсь продолжить публиковать статьи.

Если у вас есть какие-нибудь вопросы, то пишите мне в личку.

Ваши отзывы об уроках можете оставить на этой странице.

Всех с Наступающим!

ИЗУЧАЕМ DRUPAL7! УРОК 10

Несмотря на огромное количество модулей для Drupal, всегда найдутся еще не реализованные идеи. О том как их реализовать в виде модуля для Drupal, мы сегодня и поговорим.

Для того что бы Drupal отобразил ваш модуль на странице modules, необходимо создать папку с названием модуля в /sites/all/modules, и создать внутри 2 файла - имямодуля.info и имямодуля.module. В первом будет информация о модуле, во втором код модуля.

Назовем его helloworld.

Для начала создаем папку seoblock в /sites/all/modules и там 2 файла helloworld.info и helloworld.module.

Внутренности файла .info выглядят так

; $Id$

name = helloworld
description = Hello World module
core = 7.x

files[] = helloworld.module


Разберем каждую строку поподробнее:
; $Id$

Эта строка нас не интересует. Если вы будете заливать свой модуль на drupal org, сюда автоматом вставится информация о модуле.
name (Обязательное) - Имя модуля, которое будет отображаться в списке.

description (Обязательное) - Описание модуля.

core (Обязательное) - Поддерживаемая версия ядра.

files[] - Указываем файлы модуля

dependencies (Не обязательное) - Список модулей, необходимых для работы нашего.
Например:
dependencies[] = taxonomy
dependencies[] = comment

package (Не обязательное) - К какому пакету относить модуль. То есть, если вы хотите что бы ваш модуль отображался в списке CCK, то нужно добавить строку:
package = "CCK"
Если ничего не заданно, то модуль отображается в группе «Other».

Файлы должны быть в кодировке utf-8.

На данный момент уже можно установить модуль, но он пока ничего не делает. Перейдем к файлу .module.

По большей части, модуль Drupal состоит из хуков (hook — слово страшное, но на деле все проще чем кажется), специальных функций, каждая из которых предназначена для конкретной задачи. Список хуков и информацию о них вы найдете на сайте api.drupal.org.

Внутренности файла .module выглядят так:

<?php
function helloworld_menu(){
$items = array();

$items['helloworld'] = array(
'title' => t('Hello world'), // Заголовок страницы
'page callback' => 'helloworld_output', // Функция отображающая страницу
'access arguments' => array('access content'), // Права доступа
);

return $items;
}

function helloworld_output() {
header('Content-type: text/plain; charset=UTF-8');
header('Content-Disposition: inline');
return 'helloworld';
}
?>


Создадим файл page-helloworld.tpl.php в папке с темой и добавим в него

<?php
print $content;
?>


Теперь включите модуль на странице /admin/build/modules и перейдите на http://domain.ru/helloworld.

Кучу примеров работы с модулями вы можете скачать здесь http://drupal.org/project/examples.

ИЗУЧАЕМ DRUPAL7! УРОК 9

Сегодня мы поговорим о модуле Panels. Если модуль Views в основном служил для не напряжного составления SQL-запросов, и помогал наиболее комфортно представить их в нужном виде, то модуль Panels помогает расположить на странице (или в блоке) отдельные куски информации, без знаний CSS или HTML.

Для начала скачаем сам модуль.



Для своей работы Panels требуют Ctools. Нужно установить модули: Chaos tools, Page manager, Mini panels, Panel nodes, Panels.



Переходим на страницу /admin/structure/panels, и наблюдаем такую картину:



Panel page - Добавить панель-страницу, то есть панель занимает целую страницу, при этом имеет свой путь и ссылку в меню. Так же в них можно передавать аргументы.
Panel node - Примерно то же самое что и Panel page, только слегка ограниченные. Панель встраивается в ноду.
Mini panel - Панель в виде блока.
Как я уже говорил, панели помогают располагать различную информацию на странице. Вставить туда можно многое, думаю лучше это будет показать на примере.
Давайте создадим Panel page и поиграемся с настройками.
Заходим на страницу /admin/structure/pages/add и кликаем Panel page



И видим страницу с основными настройками:
Administrative title - имя страницы отображаемое для администратора.
Machine name - машинное имя, после сохранения, не изменяется.
Administrative description - описание панели, если делаете сайт навеселе, стоит заполнить
Path - путь по которому будет доступна эта страница.
Make this your site home page - чекбокс, если выбран, то данная панель заменит главную страницу
Optional features - дополнительные настройки панели
Access control - выбираем кто может просматривать страницу
Visible menu item - добавляем ссылку в меню
Selection rules - можно задать разные варианты панели, для разных пользователей
Contexts - если в двух словах, то contexts позволяет использовать в панеле дополнительные объекты. Например, если вы добавите contexts Node add form, то сможете вставить в панель форму добавления нод, притом как полностью, так и отдельные ее куски.
Нажимаем Continue



На этой странице можно задать элемент меню для страницы.

Страница Choose layout, здесь нужно выбрать на сколько регионов будем разбивать страницу:



Крайне важное свойство, от которого зависит расположение элементов, я выбрал 2 колоночный вариант, и попал на последнюю страницу:



На которой и происходит наполнение панели информацией, жмем на шестеренку, должно отобразиться 2 пункта:
Add content - добавление содержимого,
Region style: Default - выбор стиля панели.
жмем Add content, и выбираем что же вставить в панель:



жмем далее



сохраняем результат.

а так выглядит готовая страница



Если вы справились с Panel page, остальное не должно вызвать у вас проблем!

ИЗУЧАЕМ DRUPAL7! УРОК 8

Часто возникает необходимость перенести сайт с одного хостинга на другой или Вы сделали сайт на Xampp'e или Denwer'e и теперь его нужно перенести на хостинг в интернете. Давайте разберёмся как выложить сайт со своего домашнего компьютера в Интернет.

Для начала нам потребуется модуль Backup and Migrate. Качем его с официального сайта



распаковываем архив в папку /sites/all/modules/ и включаем его в админ-панели



переходим на страницу admin/config/system/ и нажимаем на Backup and Migrate



Нажимаем Backup now, чтобы скачать базу данных сайта



Сохраняем файл к себе на компютер



Теперь нам надо создать новую базу данных на хостинге, куда мы хотим перенести наш сайт



Переходим на вкладку Импорт и загружаем сохранённый нами файл



Далее копируем все файлы сайта на новый хостинг и в settings.php (если надо) изменяем url на новый



Также, возможно, будет необходимо поменять название бд, логин и пароль.

Теперь все должно заработать!

После можно настроить автоматическое резервное копирование бд сайта. Для этого переходим на страницу admin/config/system/backup_migrate/schedule и нажимаем Add Schedule



Backup every - промежуток времени, через которое делается копия
Destination - куда сохраняется копия

Создадим новую точку сохранения - Create new destination



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

ИЗУЧАЕМ DRUPAL7! УРОК 7

Одна из главных страниц на сайте является страница с формой обратной связи. Для того, чтобы сделать ее, потребуется модуль Webform. Скачать его можно (как и любой другой модуль) с drupal.org.
После установки модуля, появиться новый тип содержимого. Создадим новую страницу данного типа. В поле title впишем Обратная связь, добавим ссылку в меню + укажем в параметре адреса feedback. Сохраним и перейдем на вкладку Webform



Добавим основные поля формы: Имя, E-mail, Текст сообщения



В итоге получим



Перейдем на страницу Электронные адреса и укажем на какой адрес должны приходить сообщения



Настроим шаблон письма, которое должно прийти к вам на почту



Сохраним и на странице Form settings настроим Confirmation message



страницу на которую перейдет пользователь после отправки сообщения



и текст кнопки



Сохраняем и смотрим результат. Как вы видите, ничего сложного!

Попробуйте добавить другие типы полей, чтобы сделать форму более информативной (может пригодиться, например, для формы заказов).

Так как я рассказал уже большую часть того чего хотел, то теперь уроки будут выходить только по понедельникам!

ИЗУЧАЕМ DRUPAL7! УРОК 6

Довольно часто, чтобы оживить сайт на главной странице сайта делают слайдер. Для этого не нужно знать javascript и jquery. Достаточно установить модуль Views Slideshow и Views Slideshow Slider.

Создаем новый тип материала или добавляем поле Изображение к уже существующему. Создаем новое Представление (Views), с названием Slider. Настраиваем



В Формат -> Slideshow -> Настройки можно задать дополнительные настройки. Но для этого надо дополнительно установить модуль Libraries и в папку /sites/all/libraries/jquery.cycle добавить этот скрипт.

Теперь размещаем блок с слайдером в нужном нам месте



В итоге получаем



Основные настройки слайд-шоу,
SingleFrameTimer delay: время в милисекундах между переключением слайдов;
Initial slide delay offset: время в милисекундах до первого переключения;
Speed: скорость с которой слайды меняются;
Controls: текстовые переключатели слайдов;
Pager: числовые переключатели слайдов;
Image Counter: показывает какой по счету слайд отображается;
Items per slide: сколько слайдов отображается одновременно;
Effect: эффект с которым появляется слайд;

Для настройки внешнего вида необходимо будет подправить CSS файл Вашей темы, но это придется делать самостоятельно и в соответствие с задуманной цветовой схемой.

Также стоит посмотреть другие дополнительные модули:
  • Views Slideshow Menu
  • Views Slideshow Imageflow
  • Views Slideshow Dynamic Display Block
  • Views Slideshow Galleria
  • Views Slideshow JCarousel Thumbs
  • Views Slideshow Xtra
Они помогут добавить динамики и стиль вашему сайту.

ИЗУЧАЕМ DRUPAL7! УРОК 5

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

Для того, чтобы понять о чем я тут говорю, необходимы хотя бы начальные знания html, css и php.

Все темы лучше хранить в директории /sites/all/themes/, чтобы при обновлении друпала они не удалились. Скачайте исходник для темы (framework) и распакуйте в /sites/all/themes/. Теперь посмотрим содержимое.

/

pure.info
Каждая тема должна иметь такой файл. Название файла и атрибут name (первая строчка в файле) должны быть такие же, как и название темы. Ниже приведён список всех атрибутов с их кратким описанием.
name имя темы
description описание
screenshot - скриншот темы
version версия
core для какой версии Друпала
engine Движок используемый темой
base theme - тема родитель
regions - регионы сайта
features - для изменения на странице настройки темы
stylesheets - подключение CSS к теме
scripts - подключение javascript к теме
php Определяет минимальную версию php

Откройте папку /pure/templates. В ней будут лежать файлы вида имя_файла.tpl.php, это файлы шаблонов.

page.tpl.php
Каждая тема Drupal должна иметь page.tpl.php файл. Он содержит смесь HTML и PHP кода, а также определяет общую компоновку и структуру страниц на вашем сайте.

node.tpl.php
Этот файл состоит из комбинации HTML и PHP фрагментов. Содержимое файла определяет, расположение различных элементов (дату, автора, полей) в ноде.

и т.д.

comment.tpl.php

Шаблон блока комментариев, через него определяется HTML-код комментариев.

block.tpl.php

Выводит контент для блоков в заданном регионе. Этот шаблон необязателный и может быть переопределен копированием стандартного шаблона.

/pure

template.php

Еще один важный файл темы, через него можно используя специальные функции перехватить значение переменных выводимых в page.tpl.php и переопределить их. Этому файлу мы посвятим отдельный урок позднее.

/pure/css

style.css
Здесь прописываются основные стили.

Все java скрипты обычно располагают в /pure/js, а изображения в /pure/images

Правильное расположение файлов в теме помогут не запутаться вам, когда вы будете создавать и редактировать шаблон.

Теперь перейдем на страницу /admin/appearance, включим и установим по умолчанию новую тему, отключив при этом Bartik. Перейдем на сайт и посмотрим, что у нас получилось.
Заметили? Ничего лишнего! Теперь можно смело приступать к темизации (для этого я приведу список переменных, которые необходимо знать). А после красиво оформить сайт при помощи CSS стилей.

Переменные файла page.tpl.php

Основные переменные:
$base_path: URL-путь к папке с Drupal. Покрайней мере, он будет равен /.
$css: массив CSS файлов для данной страницы.
$directory: Путь к папке с текущей темой, например themes/garland или themes/garland/minelli.
$is_front: Истина, если это главная страница.
$logged_in: Истина, если пользователь авторизован.
$is_admin: Истина, если пользователь авторизован под учетной записью администратора.

Метаданные страницы:
$language: (объект) Язык сайта. $language->language содержит текстовое обозначение. $language->dir Содержит директиву языка, принимает значение 'ltr' или 'rtl' .
$head_title: модифицированная версия заголовка страницы, используется в теге TITLE.
$head: выводит секцию HEAD (включает в себя мета-теги, keyword tags).
$styles: CSS стили страницы.
$scripts: Файлы javascript, используемые на странице.
$body_classes: множество CSS классов для тега BODY. Содержит переменные определяющие текущую разметку (множественные столбцы, единичный столбец), текущий путь и тд.

Идентификационные данные:
$front_page: Адрес главной страницы. Так же включает языковой домен, или префикс.
$logo: Адрес логотипа.
$site_name: Название сайта, можно отключить в настройках темы.
$site_slogan: Слоган сайта, можно отключить в настройках темы.
$mission: Миссия сайта, можно отключить в настройках темы.

Навигация:
$search_box: HTML код формы поиска, пустой если поиск выключен.
$primary_links (array): Массив содержащий primary_links.
$secondary_links (array): Массив содержащий secondary_links.

Содержание страницы (в порядке появления в default page.tpl.php):
$left: Левая колонка.
$breadcrumb: «хлебные крошки» для текущей страницы.
$title: Заголовок старницы.
$help: Текст справки, в основном используется на страницах администрирования.
$messages: Статусные сообщения и сообщения об ошибках.
$tabs: закладки.
$content: основное содержимое текущей страницы.
$right: правая колонка.

Переменные подвала:
$feed_icons: RSS лента текущей страницы.
$footer_message: Текст подвала сайта.
$footer : регион footer.
$closure: Переменная определяющая конец страницы. Она должна быть после остального динамического содержимого.

Переменные файла block.tpl.php

$block->module - Модуль который создает блок
$block->delta - Числовой идентификатор прикрепленый к каждому модулю.
$block->subject - Заголовок блока.
$block->content - Содержимое блока.
$block->status - Статус блока (0 или 1)
$block->region - Регион, в котором находится текущий блок.

вспомагательные переменные:
$block_zebra: Выводит 'odd' и 'even' поочереди, взависимости от блока в регионе.
$zebra: выводит то же самое что и $block_zebra но независимо от региона.
$block_id: Счетчик зависящий от регионов.
$id: выводит то же что и $block_id но не зависит от региона.
$is_front: возвращает истину, когда вызывается на главной странице.
$logged_in: возвращает истину когда текущий пользователь авторизирован.
$is_admin: возвращает истину когда текущий пользователь администратор.