Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Ламерские вопросы » Помогите найти Модуль Алфавит для DLE 10.1

Помогите найти Модуль Алфавит для DLE 10.1


     05.05.2014    Все вопросы » Ламерские вопросы    3471

вопрос
Помогите найти Модуль Алфавит для DLE 10.1 рабочий

Ответил: vitnet


sr.green,
/catalog/A/

8 комментариев

psih
Юзер

psih - 5 мая 2014 18:43 -

А стандартные функции скрипта не работают?

sr.green
Гости

sr.green - 5 мая 2014 18:47 -

psih,
?

Kota
Юзер

Kota - 5 мая 2014 19:09 -

Отписался в личку =)

sr.green
Гости

sr.green - 5 мая 2014 19:49 -

Aleksey-Nyaka,
:), не платно мне не надо ведь есть где то в паблике, да и какой еще самопис :)) не смеши

rocksmart
Юзер

vitnet
PHP-developer

vitnet - 5 мая 2014 21:15 -

***Комментарий удален***

Googledono
Юзер

Googledono - 7 мая 2014 12:28 -

в index.php
после
require_once ROOT_DIR . '/engine/init.php';

ставим
    /*Меню алфавитное*/
    
$alfa_menu = dle_cache( "menu_for_main", $config['skin'], true );

if ($alfa_menu === FALSE) {
    $serials_alfa = Array();
    $cats = $db->query("SELECT id, name, alt_name FROM " . PREFIX . "_post  ORDER BY name ASC");
    while ($row = $db->get_row($cats)) {
    
        if (ord(substr($row['name'], 0, 1)) >= 48 AND ord(substr($row['name'], 0, 1)) <= 57)
            $symbol = "0-9";
        elseif ((ord(strtoupper(substr($row['name'], 0, 1))) >= 65) AND (ord(strtoupper(substr($row['name'], 0, 1))) <= 90))
            $symbol = "A-Z";
        else
            $symbol = ord(substr($row['name'], 0, 1));
            
        $serials_alfa[$symbol][$row['id']] = $row;
    }

    $tpl1 = new dle_template();
    $tpl1->dir = TEMPLATE_DIR;
    $tpl1->load_template( 'menu_block.tpl' );

    foreach ($serials_alfa as $id => $array) {
        
        if ($id == '0-9' OR $id == 'A-Z')
            $tpl1->set("{symbol}", $id);
        else
            $tpl1->set("{symbol}", "А-Я");
            
        $tpl1->set("{col}", count($array));
        
        $tpl12 = new dle_template();
        $tpl12->dir = TEMPLATE_DIR;
        $tpl12->load_template( 'menu_link.tpl' );
        
        foreach ($array as $key => $info) {

            $link = $config['http_home_url'] . $info['alt_name'] . "/";
            
            $tpl12->set( '[full-link]', "<a href=\"" . $link . "\">" );
            $tpl12->set( '[/full-link]', "</a>" );    
            $tpl12->set( '{name}', $info['name'] );
            $tpl12->set( '{alt_name}', $info['metatitle'] );
            $tpl12->set( '{id}', $info['id'] );
            $tpl12->compile( 'menu_links' );            
            
        }
        
        $tpl1->set("{menu_links}", $tpl12->result['menu_links']); unset($tpl12);
        $tpl1->compile( 'alfa_menu' );
    }
    
    $alfa_menu = $tpl1->result['alfa_menu']; unset($tpl1);
    create_cache( "menu_for_main", $alfa_menu, $config['skin'], true );
    
}    
    $tpl->set("{menu}", $alfa_menu);

в engine.php
после
case "comments" :
        include ENGINE_DIR . '/modules/comments.php';
        break;

это
case "menu" :
        include ENGINE_DIR . '/modules/alfa_menu.php';
        break;


в папке с шаблоном создаём menu_link.tpl
<div class="fast_info_box">
    [full-link]{name}[/full-link]
</div>

создаём menu_block.tpl

        <li>
            <a href="#"><div class="menu_anker"><div class="menu_float_l"><div class="menu_float_l2">{symbol}</div></div><div class="menu_float_r">(всего: {col})</div></div></a>
            <ul class="menu_2">
                {menu_links}
            </ul>
        </li>

в main.tpl в нужное место пишем {menu}
стили под себя подстраивай

Googledono
Юзер

Googledono - 7 мая 2014 12:40 -

в индекс вставляй это
/*Меню алфавитное*/
    
$alfa_menu = dle_cache( "menu_for_main", $config['skin'], true );

if ($alfa_menu === FALSE) {
    $serials_alfa = Array();
    $cats = $db->query("SELECT id, name, alt_name, parentid FROM " . PREFIX . "_category WHERE parentid='0' AND id != 11 ORDER BY name ASC");
    while ($row = $db->get_row($cats)) {
    
        if (ord(substr($row['name'], 0, 1)) >= 48 AND ord(substr($row['name'], 0, 1)) <= 57)
            $symbol = "0-9";
        elseif ((ord(strtoupper(substr($row['name'], 0, 1))) >= 65) AND (ord(strtoupper(substr($row['name'], 0, 1))) <= 90))
            $symbol = "A-Z";
        else
            $symbol = ord(substr($row['name'], 0, 1));
            
        $serials_alfa[$symbol][$row['id']] = $row;
    }

    $tpl1 = new dle_template();
    $tpl1->dir = TEMPLATE_DIR;
    $tpl1->load_template( 'menu_block.tpl' );

    foreach ($serials_alfa as $id => $array) {
        
        if ($id == '0-9' OR $id == 'A-Z')
            $tpl1->set("{symbol}", $id);
        else
            $tpl1->set("{symbol}", chr($id));
            
        $tpl1->set("{col}", count($array));
        
        $tpl12 = new dle_template();
        $tpl12->dir = TEMPLATE_DIR;
        $tpl12->load_template( 'menu_link.tpl' );
        
        foreach ($array as $key => $info) {

            $link = $config['http_home_url'] . $info['alt_name'] . "/";
            
            $tpl12->set( '[full-link]', "<a href=\"" . $link . "\">" );
            $tpl12->set( '[/full-link]', "</a>" );    
            $tpl12->set( '{name}', $info['name'] );
            $tpl12->set( '{alt_name}', $info['metatitle'] );
            $tpl12->set( '{id}', $info['id'] );
            $tpl12->compile( 'menu_links' );            
            
        }
        
        $tpl1->set("{menu_links}", $tpl12->result['menu_links']); unset($tpl12);
        $tpl1->compile( 'alfa_menu' );
    }
    
    $alfa_menu = $tpl1->result['alfa_menu']; unset($tpl1);
    create_cache( "menu_for_main", $alfa_menu, $config['skin'], true );
    
}    
    $tpl->set("{menu}", $alfa_menu);

Но, одно но! вывод меню происходит из категорий. подстраивай запрос под себя.

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

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

наверх