Fivestar + lightbox возможно ли?

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

Аватар пользователя Usmik@drupal.org Usmik@drupal.org 2 июня 2010 в 9:53

Добрый день. Возможно ли так сделать, что бы при просмотре изображения через lightbox, в этом же окне отображалась голосование пять звезд?

Комментарии

Аватар пользователя warobushek warobushek 26 июня 2010 в 14:13

Тоже заинтересовался этим вопросом.
Для любителей оригиналов вот ссылка: http://drupal.org/node/295199.

Ну а делается следующим образом:
если фотогалерея сделана на views gallery, то :

1. заходим в admin/build/views/edit/gallery
для дисплея default в списке полей вместо lightbox-slideshow выбираем Lightbox2 iframe: thumb->node page

2. из папки модуля lightbox2 копируем файл page-node-lightbox2.tpl 2.php в папку с темой. Убираем в нем все лишнее.
у меня получилось следующее

<?php
// $Id: page-node-lightbox2.tpl.php,v 1.1.2.2 2008/06/11 22:16:38 snpower Exp $

/**
 * file
 * Template file for displaying the node content, associated with an image, in
 * the lightbox.  It displays it without any sidebars, etc.
 */

?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language->language ?>" lang="<?php print $language->language ?>" dir="<?php print $language->dir ?>">
  <head>
    <title><?php print $head_title ?></title>
    <?php print $head ?>
    <?php print $styles ?>
    <?php print $scripts ?>
  </head>
  <body>

<!-- Layout -->

        <div class="clear-block">
                    <?php print $content ?>
        </div> <!-- close container -->
</body>
</html>
?>

3. Если нужно убрать лишние поля, то делаем соответствующие настройки здесь
admin/content/node-type/gallery-image/fields и здесь
admin/build/custom_pagers

4. Правим таблицы стилей

5. Подгоняем размеры фрейма таким образом, чтобы не было полос прокрутки
Для этого из файла lightbox2/lightbox2.formatter.inc копируем функцию
theme_imagefield_image_imagecache_lightbox2 в файл template.php в папке своей темы.
Заменяем "theme" на имя своей темы. Внутри этой функции находим строчки :

<?php  
  
...
// Set up the rel attribute.
  
$full_rel '';
  
$imagefield_grouping variable_get('lightbox2_imagefield_group_node_id'1);
  if (
$imagefield_grouping == 1) {
    
$full_rel $rel .'['$field_name .']['$caption .']';
  }
  elseif 
  ....
?>

И изменяем следующим образом:

<?php
  
...
  
// Set up the rel attribute.  
  
$full_rel '';
  
$imagefield_grouping variable_get('lightbox2_imagefield_group_node_id'1);
  if (
$imagefield_grouping == 1) {
    
########   добавляем параметры: ширина, высота, скроллинг
    
$img_info getimagesize($item['filepath']);
    
$frame_width $img_info[0];
    
$frame_height $img_info[1] + 100;
    
$frame_size 'width:'$frame_width .'px; height:'$frame_height .'px;';  
    
##
    
$full_rel $rel .'['$field_name ."|$frame_size".']['$caption .']';
  }
  elseif 
  ....
?>

В этом коде мы вычисляем размер картинки и добавляем параметры в ссылку.
Для тех кто это делает это не для views gallery могу только сказать, что нужно указывать lightframe для параметра rel каждой ссылки на картинку
Подробнее, наверно, можно прочитать здесь: http://drupal.org/node/144488