Фотогаллерея пользователя

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

Аватар пользователя Freedom Freedom 4 августа 2008 в 11:11

Вопрос может и не новый: Как лучше создать фотогаллерею пользователя. Чтобы он сам из закидывал на свою страничку (Мои учётные данные), и удалял... Какие модули для этого нужны и вообщем, как подступиться к этому вопросу? Заранее спасибо, буду ждать ваших ответов.

Комментарии

Аватар пользователя julia_leo julia_leo 4 августа 2008 в 12:31

нормальной персональной галереи не встречала, делала сама с помощью CCK,
http://drupal.org/node/128080#comment-253509
или
создайте материал Моя галерея с полем типа image для фото, поставьте галочку Multiple values, Enable custom alternate text, Enable custom title text Создай page В которую в формате php вставьте код

    global $base_path;
    $uid = $_GET['u'];
    $limit = 100;
    $type = 'gallery';
    $output = '';
    $query = "SELECT DISTINCT node.created, node_revisions.nid, node_revisions.title, " .
    "node_revisions.teaser, node_type.name " .
    "AS typename FROM node_revisions, node, users, node_type " .
    "WHERE (node_revisions.nid = node.nid) " .
    "AND (node.status = 1)" .
    "AND (node.uid = '".$uid."')" .
    "AND (node_type.type = node.type) AND (node_type.type ='%s') ORDER BY node.created DESC LIMIT %d";
    $result = db_query($query, $type, $limit);
    while ($arr = db_fetch_array($result)) {
    ?>
  • }
    mysql_free_result($result);
    ?>

где gallery - машинное название материала типа галерея, которую ты создала через Добавить материал
Адрес укажите photo
Можете изменить разметку списка, заменив

  • на что хочется

    Теперь в теме в шаблоне page.tpl после sidebar_left добавьте

    Появится пункт меню со ссылкой на список альбомов.
    Затем надо добавить на страницу профиля ссылку на галерею
    В user-profile.tpl добавьте ссылку
    print "uid."\">".win2utf('Мои фотографии')."";
    ?>

    В темах создайте файл node-gallery.tpl.php
    global $base_path;

    $cnt = count($node->field_photo);
    $kol_rows = 4;
    $i=0;
    print '

    ';
    print "
    ";
    foreach ($node->field_photo as $key => $value) {
    $i++;
    if($i%$kol_rows == 1) print "
    ";
    print "

    ";
    if($i%$kol_rows == 0) print "

    ";
    }
    print "


    ".$value['title']."

    ";
    ?>
    Соответственно необходим image_cache и thickbox

    Будет страница с фотками пользователя, галерея представляется как один документ, в которую можно загружать много фоток. Недостаток - у картинки есть только заголовок, нет описания.

    Это мой вариант, может найдете другой

    К сожалению, не совсем корректно код отображается

Аватар пользователя Freedom Freedom 4 августа 2008 в 12:32

гы-гы-гы-гы...... мда.... лучше попробую с ССК как нибудь разобраться. А можно завести отдельный материал, который отображается на странице "Мои учётные данные"?
+ Если Друпал 5, то при переходе на 6 эта галерея сохранилась.

Аватар пользователя julia_leo julia_leo 4 августа 2008 в 12:35

ну вообщем cck создать материал несложно, надо только вывести его, для этого и все навороты
Если интересно, то я прикреплю файл с кодом

Аватар пользователя kiev1 kiev1 4 августа 2008 в 14:38

> гы-гы-гы-гы...... мда.... лучше попробую с ССК как нибудь разобраться
так выше как раз и приведен код с использованием CCK
спасибо

Аватар пользователя Freedom Freedom 4 августа 2008 в 15:35

а можно пример сайта, на котором реализован этот пример или другие, просмотр которых доступен без регистрации