Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы по PHP Как разделить смайлы по категориям чтобы не было кучи?

Как разделить смайлы по категориям чтобы не было кучи?


     21.02.2014    Общие вопросы по PHP, Хаки    3712

вопрос
Как разделить смайлы по категориям чтобы не было кучи?

Подобие этого чтобы сверху можно было выбрать какую категорию и и там уже смотреть?
Как разделить смайлы по категориям чтобы не было кучи?

Ответа пока нет


Комментарии пользователей (6)

pavel31
4

346 | 158

pavel31 - 21 февраля 2014 22:17 - Юзер

Да, хотелось бы узнать как это сделать!

sergio.lamborghini
4

25 | 42

sergio.lamborghini - 21 февраля 2014 23:24 - Юзер

табы на jQuery

D0Gmatist
225

794 | 281

D0Gmatist - 21 февраля 2014 23:36 - Местный

Всё равно надо править php
Так как в админке подключаются Смайлики:
разделяются запятыми (,)
wink,winked,smile,am,belay,feel,fellow,laughing,lol,love,no,
recourse,request,sad,tongue,wassat,crying,what,bully,angry

и что бы это стало работать по табам надо переписывать php
и делать что то в этом духе
wink,winked,smile,am,belay||feel,fellow,laughing,lol,love,no,
recourse,request||sad,tongue,wassat,crying,what,bully,angry


по умолчанию это одна переменная и разбивается на масив по запятой патом каждый элемент масива обрамляется формируя
<a href="#" onclick="dle_smiley(':wink:'); return false;"><img style="border: none;" alt="wink" src="http://kinomaxduble.by/engine/data/emoticons/wink.gif"></a>

а благодаря такой записи через ||
можно разбить сначала на масив по ||
посчитать сколько получилось элементов count
в данном примере 3 - три табс вкладки
и патом это всё раскладывать с помощью ООП

Каждый программист знает - в правильном софте все должно быть прекрасно:
и пользовательский интерфейс, и программные решения, и гениальные ошибки!
Болтовня ничего не стоит. Покажите мне код.

pavel31
4

346 | 158

pavel31 - 21 февраля 2014 23:35 - Юзер

Табы это понятно, но как разделить смайлики по категориям? Как я понимаю это в конфиге dle должно быть 3 три пременные со списком смайликов? или я не прав??

pavel31
4

346 | 158

pavel31 - 22 февраля 2014 12:39 - Юзер

Я когда-то делал табы со смайликами для чата iChat 6.0
делал так:

if($is_logged OR !$is_logged AND $chat_cfg['allow_guest'] == 'yes') {
    $ia = 0;
    $smiles_a = "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"100%\"><tr>";
    $smilies_a = explode(",", $chat_cfg['smiless_a']); // большие смайлики
    $count_smilies_a = count($smilies_a);
    foreach($smilies_a as $smile_a) {
        $ia++;
        $smile_a = trim($smile_a);
        $smiles_a .= "<td style=\"padding:2px;\" class=\"smile\" align=\"center\"><a href=\"#\" onclick=\"iChat_smiley(':$smile_a:'); return false;\"><img style=\"border: none;\" alt=\"$smile_a\" src=\"".$config['http_home_url']."engine/data/emoticons/$smile_a.gif\" /></a></td>";
        if ($ia%4 == 0 AND $ia < $count_smilies_a) $smiles_a .= "</tr><tr>";
    }
    $smiles_a .= "</tr></table>";

    $ip = 0;
    $smiles_p = "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"100%\"><tr>";
    $smilies_p = explode(",", $chat_cfg['smiless_p']); // маленькие смайлики
    $count_smilies_p = count($smilies_p);
    foreach($smilies_p as $smile_p) {
        $ip++;
        $smile_p = trim($smile_p);
        $smiles_p .= "<td style=\"padding:2px;\" class=\"smile\" align=\"center\"><a href=\"#\" onclick=\"iChat_smiley(':$smile_p:'); return false;\"><img style=\"border: none;\" alt=\"$smile_p\" src=\"".$config['http_home_url']."engine/data/emoticons/$smile_p.gif\" /></a></td>";
        if ($ip%4 == 0 AND $ip < $count_smilies_p) $smiles_p .= "</tr><tr>";
    }
    $smiles_p .= "</tr></table>";
    echo '<div id="iChat_emos" style="display: none;">
        <script type="text/javascript">
            $(function(){
                $("a.changetab").click(function(){
                    if($(this).hasClass("active")) {return false;}
                    var tabname = $(this).attr("rel");
                    $("a.changetab").removeClass("active");
                    $("a.changetab[rel="+tabname+"]").addClass("active");
                    $(".BlockTabs").stop(true, true);
                    $(".BlockTabs:visible").fadeOut("slow", function(){
                        $(".BlockTabs.blockTab_"+tabname+"").fadeIn("slow");
                    });
                    return false;
                });
            });
        </script>
        <div style="width:100%; height:100%; overflow: auto;">
            <ul class="toggle-links">
                <li><a href="#" class="active changetab" rel="animate">Большие</a></li>
                <li><a href="#" class="changetab" rel="default">Маленькие</a></li>
            </ul>
            <br><hr>
            <!-- большие смайлики -->
            <div class="BlockTabs blockTab_animate">    
                '.$smiles_a.'
            </div>
            <!-- маленькие смайлики -->
            <div class="BlockTabs blockTab_default" style="display:none;">
                '.$smiles_p.'
            </div>
        </div>
    </div>';
}

Config чата:

'smiles' => "s01,s02,s03,s04,s05,s06,s07,s08,s09,s10,s11,s12,s13,s14,s15,s16,s17,s18,s19,s20,s21,s22,s23,s24,s25,s26,s27,s28,s29,s30,s31,s32,s33,s34,s35,s36",
'smiless_a' => "s01,s02,s03,s04,s05,s06,s07,s08,s09,s10,s11,s12,s13,s14,s15,s16,s17,s18,s19,s20,s21,s22,s23,s24,s25,s26,s27,s28,s29,s30,s31,s32,s33,s34,s35,s36",
'smiless_p' => "smile-01,smile-02,smile-03,smile-04,smile-05,smile-06,smile-07,smile-08,smile-09,smile-10,smile-11,smile-12,smile-13,smile-14,smile-15,smile-16,smile-17,smile-18,smile-19,smile-20,smile-21,smile-22,smile-23,smile-24,smile-25,smile-26,smile-27,smile-28,smile-29,smile-30,smile-31,smile-32,smile-33,smile-34,smile-35,smile-36,smile-37,smile-38,smile-39,smile-40,smile-41,smile-42,smile-43,smile-44,smile-45,smile-46,smile-47,smile-48,smile-49,smile-50,smile-51,smile-52,smile-53,smile-54,smile-55,smile-56,smile-57,smile-58,smile-59,smile-60,smile-61,smile-62,smile-63",

uFlex
16 | 4

uFlex - 22 февраля 2014 19:43 - Юзер

pavel31 +

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы