Програмное создание заказа (Commerce Drupal7)

global $user;

$product_id = 2;
// Create the new order in checkout; you might also check first to
// see if your user already has an order to use instead of a new one.
$order = commerce_order_new($user->uid, 'checkout_checkout');
// Save the order to get its ID.
commerce_order_save($order);

// Link anonymous user session to the cart
if (!$user->uid) {
commerce_cart_order_session_save($order->order_id);
}

The code has been tested and works

Работаем с кодировкой через консоль

Существует такая утилита как enconv, она входит в состав пакета enca, который в свою очередь упрощает работу с кодировками файлов.

Итак, для начала неплохо бы узнать, в какой кодировке файл:

# file -i file.txt

Или так

# enca file.txt

Узнав исходную кодировку файла, меняем её с помощью команды:

# iconv -f cp1251 -t utf8 исходный.txt -o конечный.txt

The code has been tested and works

Добавляем аякс форму в Panel pane

Для добавления аякс форм нужно помнить одно правило

form_load_include($form_state, 'inc', 'my_module','plugins/content_types/my_file');

CTools панели создаются в отдельном вызове в стороне от базовых Drupal форм и поэтому, когда AJAX загружает форму он не может найти оригинальную функцию формы.Данной фунцией мы заставлем Drupal включить полный код функции каждый раз, когда он обрабатывается вызовом , и следовательно AJAX может найти необходимую функцию для восстановления формы.

The code has been tested and works

Ставим Drupal 7.x + модули за пару кликов

1) Сперва нам необходимо загрузить актуальную версию Drupal:

drush dl drupal

После успешной загрузки вы обнаружите новую директорию ./drupal-7.x (вместо x — будет версия сборки). Однако нам нужно, чтобы файлы CMS находились в текущий директории, поэтому выполним еще 3 команды:

mv ./drupal-7.x/* . mv ./drupal-7.x/.htaccess . rm ./drupal-7.x

2) Файлы находятся на своих местах — теперь выполняем установку Drupal командой si (site-install).

The code has been tested and works

Drupal как фреймворк(создание сайта с нуля) Часть 4

Доработаем форму регистрации.
Добавим нестандартную капчу для запрета ботам регистрации на сайте.

Для описания элемента в модуле надо имплементировать хук hook_element_info(), в котором надо вернуть массив, ключом которого будет будующий тип элемента, и параметры, которые он может принимать.

Здесь описан элемент формы так, как его надо будет добавлять в форму.
Возможные значения по умолчанию:

The code has been tested and works

Проверяем работу хука Drupal7

Если вы сомневаетесь работает ли ваш хук.

Для проверки используйте функцию

module_implements('my_hook'));
Он покажет все модули реализующие данный хук.

Для проверки конкретного хука используем функцию
module_invoke($module, $hook)
Для хуков предусматривающих возврат значений или возврат, при наличии определенных аргументов, нужно предусмотреть эти моменты.

The code has been tested and works

Создаем свой хук в drupal7

Перейдем более подробно к сути вопроса.

Создадим два модуля

mkdir sites/all/modules/modulea


touch sites/all/modules/modulea/modulea.info
touch sites/all/modules/modulea/modulea.module

Содержимое файла modulea.info

name = Module A
description = First Example Module
package = Alanstormdotcom
version = VERSION
core = 7.x
files[] = modulea.module

Создадим второй модуль

mkdir sites/all/modules/moduleb

The code has been tested and works

Pages

Subscribe to moscovie.com RSS