vbayanov: Блог

Главные вкладки

Как отсортировать элементы меню superfish?

24 марта 2016 в 4:36

Здравствуйте.

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

Может кто-нибудь знает, как побороть эту сортировку?

Кириллица в db_insert

6 мая 2011 в 19:25

Здравствуйте.
Пытаюсь написать свой модуль для drupal 7, который добавляет данные из формы в таблицу бд.
Все работает если в форме пишу латинские символы, когда пишу кириллицу друпал ругается. Кодировку таблицы установил в utf-8_general_ci, через phpmyadmin.

Вот что пишет друпал:
PDOException: SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xD0\x98\xD0\xBD\xD1\x84...' for column 'city' at row 1: INSERT INTO {flats} (id, city, info) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2); Array ( [:db_insert_placeholder_0] => 0 [:db_insert_placeholder_1] => Информация1 [:db_insert_placeholder_2] => Информация2 ) in add_flat_my_form_submit() (line 51 of /opt/lampp/htdocs/hotels/sites/all/modules/custom/add_flat/add_flat.module).

Код модуля:
<?php
/* Хук_меню*/
function add_flat_menu() {
$items = array();
$items['add_flat/form'] = array(
'title' => 'Форма добавления объявления',
'page callback' => 'add_flat_form',
'access arguments' => array('access content'),
'description' => 'Добавление объявления',
'type' => MENU_CALLBACK,
);
return $items;
}
// Вызов формы
function add_flat_form() {
return drupal_get_form('add_flat_my_form');
}

// Конструктор формы
function add_flat_my_form($form_state) {
// Поле формы "Населенный пункт"
$form['city'] = array(
'#type' => 'textfield',
'#title' => t('Населенный пункт'),
);
// Поле формы "Информация"
$form['info'] = array(
'#type' => 'textarea',
'#title' => t('Информация'),
);