1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

Замена стандартных аватар (нужна помощь программиста)

Тема в разделе "Основные вопросы по XenForo", создана пользователем CyberAP, 20.07.2011.

Загрузка
  1. CyberAP

    CyberAP Местный

    Регистрация:
    05.10.10
    Сообщения:
    2 604
    Симпатии:
    1 660
    Версия XF:
    1.5.10
    В XF нельзя "красиво" заменить стандартные аватары. Хотел узнать, возможно ли написать такой аддон, который бы немного изменил функцию в движке и добавил бы одну настройку в параметры стилей где можно было бы задать свой путь к стандартным аватарам.
    Оригинальный код из library/XenForo/Template/Helper/Core.php

    PHP:
        /**
        * Returns the default gender-specific avatar URL
        *
        * @param string $gender - male / female / other
        * @param string $size (s,m,l)
        *
        * @return string
        */
        
    protected static function _getDefaultAvatarUrl(array $user$size)
        {
            switch (
    $user['gender'])
            {
                case 
    'male':
                case 
    'female':
                    
    $gender $user['gender'] . '_';
                    break;

                default:
                    
    $gender '';
                    break;
            }

            return 
    self::styleProperty('imagePath') . "/xenforo/avatars/avatar_$gender$size.png";
        }
     
  2. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    А чем не устраивает текущий вариант? ведь и так используется отдельный путь для картинок стиля.
    Я понимаю стремление разработчиков чтобы отдельные стили имели отдельные каталоги для картинок но со стандартной структурой подкаталогов.
    Для создания отдельного стиля со своими картинками достаточно просто поменять настройку стиля 'imagePath' на новый путь, где если надо чтобы картинки были одинаковые со стандартным стилем, то просто делаем по этому пути копию папки изображений стандартного стиля.

    А если по конкретному вопросу - то красиво никак не получится, т.к. это статический метод, и решить это можно только правкой кода. И врядли разработчики ксена пойдут на то чтобы настраивались пути отдельно для раных элементов стиля - скажут что-то аналогичное на тему - копии папки стандартного стиля.
     
  3. CyberAP

    CyberAP Местный

    Регистрация:
    05.10.10
    Сообщения:
    2 604
    Симпатии:
    1 660
    Версия XF:
    1.5.10
    Проблема в том что если изменяешь путь к картинкам то загружать придётся абсолютно все картинки. Каждое обновление превратится в настоящий ад.
     
  4. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    Но с другой стороны все картинки стиля лежат отдельно - что тоже громадный плюс. Стиль всегда будет показывать нормально независимо от картинок основного стиля.
     
  5. CyberAP

    CyberAP Местный

    Регистрация:
    05.10.10
    Сообщения:
    2 604
    Симпатии:
    1 660
    Версия XF:
    1.5.10
    Зато при обновлении не нужно делать лишней работы. Если что-то обновилось в мастер-стиле, то это автоматически будет применено к кастомному стилю, если там не стоит уже что-то своё. Таким образом при обновлении стиля не нужно ничего править кроме шаблонов и, в редком случае, настроек стиля. Вроде как разработчики хотели сделать их систему стилей полностью настраиваемой, а про такую вещь как аватары забыли. Или забили, не знаю :)
     
  6. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    Это же не только аватаров касается - это касается любых прямых путей к картинкам стиля. Да некторые пути можно изменить в css, но это больше на хак похоже. Все равно не понимаю - что мешает делать копию всех картинок стиля по умолчанию. Ну поменялось что-то в новой версии и что, взять новую копию всех картинок и все. Там всего-то 500К (200К из которых картинки админки)
     
  7. CyberAP

    CyberAP Местный

    Регистрация:
    05.10.10
    Сообщения:
    2 604
    Симпатии:
    1 660
    Версия XF:
    1.5.10
    Просто я не понимаю зачем так делать. В чём выгода от такого способа? Всё остальное нормально заменяется, потому что в css прописано. Согласись, гораздо же проще изменить один параметр, чем держать дополнительно полную копию стандартных файлов.

    Если кого-то тоже интересует этот вопрос, то я создал отдельную тему на оф. форуме: http://xenforo.com/community/threads/path-to-default-avatars.18153/
     

Поделиться этой страницей