Помощь Как реализовать...?Как лучше сделать...?

Тема в разделе "DLE", создана пользователем Trial, 25 янв 2009.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.1 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. Trial

    Trial

    Регистр.:
    27 май 2008
    Сообщения:
    175
    Симпатии:
    8
    1) Сейчас новости выводяться так: http://site.ru/раздел/подраздел/id-название новости..html.
    Как сделать так: http://site.ru/раздел/подраздел/название новости..html ?

    Знаю раньше был хак, но сейчас он не работает.
    Помогите кто знает.

    2) Как реализовать при заполнение короткой новости подсчет введенных символов (только текста без html). Т.е. что б было что-то вроде таймера (только с отсчетом в сторону прибавления) в режиме реального времени, но или хотябы по нажатию на кнопочку "посчитать".
    Как я понимаю это можно сделать на Ajex может кто реализует?

    Таким образом можно было бы выводить и в {custom} и в {shortstory} новости одной длинны.

    DLE 7.3
     
  2. NEXTLIFE

    NEXTLIFE Читатель

    Заблокирован
    Регистр.:
    22 май 2008
    Сообщения:
    176
    Симпатии:
    23
    В админки, настройки системы,
    Тип ЧПУ:
    Тип 1 - ссылки на полную новость будут иметь вид http://site.ru/id-имя новости.html

    Тип 2 - ссылки на полную новость будут иметь вид http://site.ru/категория/подкатегория/id-имя новости.html

    Тип 3 - ссылки на полную новость будут иметь вид http://site.ru/2008/04/02/имя новости.html, внимание данный тип несет повышенную нагрузку на сервер

    Вот так выбераеш какой лучше для твоего варианта подойдет !!! :)

    Добавлено через 1 минуту
    Тип 2 думаю твой вариант подойдет под тебя !!! Как просил !!!
     
  3. gruppastimul

    gruppastimul Ваш

    Регистр.:
    22 окт 2006
    Сообщения:
    802
    Симпатии:
    130
    Тип 2 не подойдет человек хочет избавиться от id при названии у новости
     
  4. lifediz

    lifediz Yii Framework developer

    Регистр.:
    7 июн 2008
    Сообщения:
    385
    Симпатии:
    507
    Ну а в .htaccess файл смотрел, там это вроде как и делается..
    чем тебе мешает id?
     
  5. kwin

    kwin

    Регистр.:
    22 авг 2007
    Сообщения:
    413
    Симпатии:
    167
    от id НЕЛЬЗЯ избавиться, сколько можно повторять, выборка новостей при типе ЧПУ 2 идет по id, выборка новостей при типе ЧПУ 3 идет по дате и названию.

    тип чпу 1 и 2 - рекомендуемые, потому что снижают нагрузку, облегчают запрос, по сравнению с типом 3
     
  6. Trial

    Trial

    Регистр.:
    27 май 2008
    Сообщения:
    175
    Симпатии:
    8
    C этим все ясно.
    Придется тогда пережить.

    А как на счет этого:
    Может кто знает как реализовать.
     
  7. kwin

    kwin

    Регистр.:
    22 авг 2007
    Сообщения:
    413
    Симпатии:
    167
    подсчет будет выглядеть как то так


    Код:
    <script type="text/javascript">
    function isSpace(s){
    return (s==" " || s=="n" || s=="13" || s=="t" || s=="r")?true:false
    }
    function count(){
    var c=0
    var i
    var prevspace=true
    var str=document.forms.form.text.value
    for(i=str.length-1;i>=0;i--){
    if(isSpace(str.charAt(i)) && prevspace){
    }else{
    c++
    }
    prevspace=isSpace(str.charAt(i))
    }
    document.forms.form.result.value=c
    return false;
    }
    </script>
    
    <form name="form" onsubmit="return false" action="javascript:void()">
    <p><textarea onkeypress="count()" onkeyup="count()" name="text" rows="10" cols="60"></textarea>
    <br />Символов: <input name="result" readonly="readonly" />
    <br /><input value="Очистить" type="reset" /></p>
    </form>
     
  8. Trial

    Trial

    Регистр.:
    27 май 2008
    Сообщения:
    175
    Симпатии:
    8
    Как я понимаю это надо пихать в файл admin.php, но вот в какое конкретно место, что б считало количество символов вводимых в форму короткой новости - подскажите.
     
  9. kwin

    kwin

    Регистр.:
    22 авг 2007
    Сообщения:
    413
    Симпатии:
    167
    Добавление новостей из админки:

    открываем /engine/inc/addnews.php

    ищем там

    HTML:
    		ajax.method = 'POST';
    		ajax.element = 'related_news';
    		ajax.sendAJAX(varsString);
    
    		return false;
    
    	};
        </SCRIPT>
    ниже добавляем

    HTML:
    <script type=\"text/javascript\">
    function isSpace(s){
    return (s==\" \" || s==\"n\" || s==\"13\" || s==\"t\" || s==\"r\")?true:false
    }
    function count(){
    var c=0
    var i
    var prevspace=true
    var str=document.forms.addnews.short_story.value
    for(i=str.length-1;i>=0;i--){
    if(isSpace(str.charAt(i)) && prevspace){
    }else{
    c++
    }
    prevspace=isSpace(str.charAt(i))
    }
    document.forms.addnews.result.value=c
    return false;
    }
    </script>

    далее ищем
    HTML:
    <textarea rows="13" style="width:98%; padding:0px;" onclick="setFieldName(this.name)" name="short_story" id="short_story"></textarea>
    заменяем на
    HTML:
    <textarea rows="13" style="width:98%; padding:0px;" onclick="setFieldName(this.name)" onkeypress="count()" onkeyup="count()" name="short_story" id="short_story"></textarea>
    чуть ниже ищем
    HTML:
    <br />
    	</td></tr>
    после этого добавляем
    HTML:
    	<tr>
    	<td height="29" style="padding-left:5px;">Кол-во символов:</td>
    	<td><input name="result" readonly="readonly" size="10" class="edit" /></td>
    	</tr>
    сохраняем, наслаждаемся результатом. действительно для BB-codes редактора



    Редактирование новостей в админке:

    открываем /engine/inc/editnews.php


    ищем
    HTML:
    		ajax.requestFile = 'engine/ajax/find_relates.php';
    		ajax.method = 'POST';
    		ajax.element = 'related_news';
    		ajax.sendAJAX(varsString);
    
    		return false;
    
    	};
        </SCRIPT>

    ниже добавляем
    HTML:
    <script type=\"text/javascript\">
    function isSpace(s){
    return (s==\" \" || s==\"n\" || s==\"13\" || s==\"t\" || s==\"r\")?true:false
    }
    function count(){
    var c=0
    var i
    var prevspace=true
    var str=document.forms.addnews.short_story.value
    for(i=str.length-1;i>=0;i--){
    if(isSpace(str.charAt(i)) && prevspace){
    }else{
    c++
    }
    prevspace=isSpace(str.charAt(i))
    }
    document.forms.addnews.result.value=c
    return false;
    }
    </script>

    ищем
    HTML:
    <textarea rows="13" style="width:98%;" onclick="setFieldName(this.name)" name="short_story" id="short_story">{$row['short_story']}</textarea>
    заменяем на
    HTML:
    <textarea rows="13" style="width:98%; padding:0px;" onclick="setFieldName(this.name)" onkeypress="count()" onkeyup="count()" name="short_story" id="short_story">{$row['short_story']}</textarea>
    чуть ниже ищем
    HTML:
    </td></tr>

    после этого добавляем
    HTML:
    	<tr>
    	<td height="29" style="padding-left:5px;">Кол-во символов:</td>
    	<td><input name="result" readonly="readonly" size="10" class="edit" /></td>
    	</tr>
    сохраняем, наслаждаемся результатом. действительно для BB-codes редактора
     
  10. Trial

    Trial

    Регистр.:
    27 май 2008
    Сообщения:
    175
    Симпатии:
    8
    А как для WYSIWYG редактора сделать тоже.
     
Статус темы:
Закрыта.