Niklan

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

user-icon

Niklan Niklan

Обновление базы D7

Аватар пользователя Niklan

Появилась потребность обновить свою базу D7 на уже работающем сайте.

Потребность в обновлении появилась после перехода с D6 на D7. Сразу не работало верхнее плавающее меню. Но так как оно было ненужно, я не обращал внимания. Потом начали всплывать мелкие баги(не работал Sitemap и pathauto) и все эти косяки были в базе. Приходилось руками править.

Сегодня во время теста Omega всплыл еще один баг с меню. Тема по дефолту выводит ссылки из main-menu, если они отсутствуют то из primary. Но у меня их не оказалось! Хотя нитки к ним остались в блоках и базе.
В общем такой расклад меня не устраивает вовсе, постоянно вылавливать баг за багом. Я чуствую что там косяков еще не мало. Причем не Drupal'a а мои, после апдейта.

Вот и сам вопрос: как проапгрейдить базу сайта так, чтобы остались все ноды, комменты, пользователи и их данны (также поля для профилей), свои типы материалов и т.д. и т.п.? Короче ничего не трогать, а только обнулить все стандартное, типа стандартных меню, блоков. Убрать всякие «нитки» из базы оставшихся не используемых полей, наверняка, от некачественного апдейта с D6 до D7.

Может это не апдейтом базы делается, попробую все способы.

0 Thanks

Двойная публикация ноды

Аватар пользователя Niklan

Раньше такого не замечал, но сейчас решил проверить, почему pathauto создает синонмы с припиской "-0" на конце. Ведь такую он делает если уже есть подобная запись.

Добавив новый материал, он вновь приписал "-0", хотя такого названия и быть не может. Зашел в админку, затем в синонимы и что я увидел. Там две, абсолютно одинаковых ноды. У одной нормальный синоним, а у второй с припиской. Обе содержат один и тот же материал, а также конфигурации, т.е. они обе публикуются на главную, НО появляется только дубль.

0 Thanks

Tooltip с содержимым ноды

Аватар пользователя Niklan

Добрый день. Назрел вопрос, так как неделю поисков в интернете и многочисленных попыток все ломалось на пол пути.
Есть такая "фича" на многих сайта, линк на предмет, вещь, наведя на который всплывает подсказка, в ней отображена подробная информация и компактно (например). Как создать подсказки ясно, но не ясно как в их содержимом выводить соответствующие данные из определенного типа ноды, например указав её id.
Есть у кого какие идеи и предложения. Может есть какие модули которые немного облегчат работу?

Получилось создать подобную подсказку. Но пришлось хуком перекрыть шаблон ноды с предметом, так чтобы было стилизированное оформление предмета а затем в подсказке iframe-ом выводил.

Скрипт которым делал прикреплен ниже.
Добавлялась подсказка кодом:
<a href="#" id="1" onmouseover="mcp(this.id);" onmouseout="toolTip()">Название предемета</a>
Id - ноды

Но такой метод исключает использование страницы с самим предметом. Комментарии пропадают, да и множество других функций.
В общем не очень удобный и правильный способ.

0 Thanks

Сделать всем комментариям тип "Открыто" или "Скрыто"

Аватар пользователя Niklan

Доброго времени суток.
Пользуясь 7 версией Drupal меня постиг вопрос.
Я создал свой тип материала. Затем указал, чтобы все комментарии у данного типа материалов были скрыты.
Но как теперь всем ранее добавленным материалам сделать, чтобы комментарии были открыты?

0 Thanks

Contemplate не хочет работать с русским

Аватар пользователя Niklan

Доброго времени суток.
При работе с contemplate на Drupal 7 возник вопрос.
Постоянно вылетает ошибка:
«Notice: Undefined index: ru в функции eval() (строка 58 в файле Z:\home\test7.ru\www\sites\all\modules\contemplate\contemplate.module(818) : eval()'d code).»

Собственно ошибку я нашел. Это в шаблоне тела данного типа материала стоит:
<?php if ($node->field_compositor['ru'] != '') { ?> 
в таком виде ошибки нет:
<?php if ($node->field_compositor != '') { ?> 
Но условие не работает. Выводит всегда, не зависимо от поля.

Как правильно отредактировать код в самом модуле чтобы ошибку не выбивало, собственно вот код который на друпал орг все редактируют:

<?php  $default_language language_default('language');
  
$display_language = !empty($user->language) ? $user->language $default_language;
  
$node_language = !empty($node->language) ? $node->language 'und';

  

$language_to_display = (
    isset(
$node->body[$display_language]) ?
    
$display_language :
    (
      isset(
$node->body[$default_language]) ?
      
$default_language :
      
$node_language
    
)
  );

//CCK supports nodes without body.
  
$teaser = (isset($node->body)) ? $node->body[$language_to_display][0]['safe_summary'] : '';
  
$body = (isset($node->body)) ? $node->body[$language_to_display][0]['safe_summary'] : '';?>

И вообще, зачем приписка ['ru']. На 6 друпале такого не было.

0 Thanks