Перейти к публикации

lifestar

Клиенты
  • Публикации

    4 080
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    5

Сообщения, опубликованные пользователем lifestar

  1. Ищите по форуму - уже обсуждалось как то

    На клипах в своё время делал так

    /**
    
     *	ПОСТРАНИЧНЫЙ ВЫВОД
    
     *	$currentPage - текущая страница
    
     *	$pages_count - количество страниц
    
     *	$url - url раздела
    
     */
    
    function pagesNavigation($currentPage, $pages_count, $url)
    
    {
    
    	$pages = '<div class="clear"></div><div class="pages">';
    
    
    	$pages_start = (($currentPage + 5) > $pages_count) ? $pages_count : $currentPage + 5;
    
    	$pages_end = $pages_start - 10;
    
    	if($pages_end <= 0) $pages_end = 1;
    
    	if(($pages_start - $pages_end) < 10) $pages_start = $pages_end + 10;
    
    	if($pages_start > $pages_count) $pages_start = $pages_count;
    
    
    	if ($currentPage < ($pages_count - 5) && $pages_count > $pages_start) $pages .= '<a href="'.$url.'" class="arrow">←</a>';
    
    	for($j = $pages_start; $j >= $pages_end; $j--)
    
    	{
    
    		if($j == $currentPage)
    
    			$pages .= '<span>'.$j.'</span>';
    
    		elseif($j == $pages_count)
    
    			$pages .= '<a href="'.$url.'">'.$j.'</a>';
    
    		else
    
    			$pages .= '<a href="'.$url.$j.'/">'.$j.'</a>';
    
    	}
    
    	if ($currentPage > 6 && $pages_end > 1) $pages .= '<a href="'.$url.'1/" class="arrow">→</a>';
    
    
    	$pages .= '</div><div class="clear"></div>';
    
    	return $pages;
    
    }

  2. для гугля панель управления, в которой есть возможность выбора между www и без него...
    не все пользуются этими панелями и я в том числе. Поэтому пользуюсь подручными средствами :) И надо сказать, работает жеж
  3. за дурачков народ держите?
    похоже на то. Маловероятно что на форуме DLE и не знали как же установить сапу на двиг)

    Скажи, Уважаемый, зачем ты это здесь запостил?

    Да ещё со своими РЕФЕРАЛЬНЫМИ ссылками?

    Набрать себе народа, приносящего тебе доход?

    Вадим, ну ты как будто не знаешь ответы на свои вопросы
  4. А если ПС выбрал допустим без www, а вы хотите с www, то редирект не нужен, иначе ПС не поймёт ничего
    всё она поймёт. Для яндекса robots.txt - он туда и заглядывает чтобы понять, а для гугля - редирект
  5. сколько раз говорить, редирект надо ставить после того как всё будет склеено, переклеено! Иначе ничего не произойдёт!
    ну здрасти, все время ставил почти одновременно и происходило чудо!)

    Не разу такой ерунды не слышал
    теперь услышал :)
  6. Ну да, купить сервер и разместить его тут: http://www.datagroup.ua/ (это для Украины)
    Это ты просто поставишь сервер в ДЦ. А хостинг для этого не нужено открывать)
  7. Обнаружена ещё одна ошибка, на сей раз критическая..

    Функция $dle_api->take_news,

    параметр $cat - категории через запятую

    Если указать всего одну категорию - получим ошибку

    Warning: implode(): Invalid arguments passed

    Исправление

    удалить

    		  if (strpos($cat, ','))
    
    			{
    
    			  $cats = explode(',', $cat);
    
    			}
    
    		  else
    
    			{
    
    			  $cats = $cat;
    
    			}
    Сергей, если ты указал что надо категории через запятую, зачем мудрить с массивом?) далее найти
    $condition = '';
    
    		  if ($this->dle_config['allow_multi_category'] == 1)
    
    			 {
    
    			   $condition = "category regexp '[[:<:]](" . implode ( '|', $cats ) . ")[[:>:]]'";
    
    			 }
    
    		  else
    
    			{
    
    			  $condition = "category IN (" . implode ( ',', $cats ) . ")";
    
    			}
    и заменить на
    			if ($this->dle_config['allow_multi_category'] == 1)
    
    			{
    
    				$condition = 'category regexp "[[:<:]]('.str_replace(',', '|', $cat).')[[:>:]]"';
    
    			}
    
    			else
    
    			{
    
    				$condition = 'category IN ('.$cat.')';
    
    			}

    Да, кстати неплохо было бы предусмотреть желание выбрать новости из категории, включая её подкатегории

  8. 1. Войдите в панель управления системой, отдел: Панель администратора >> Редактор

    2. В файле конфигураций правил преобразований ЧПУ на серверном уровне: .htaccess

    Это куда именно зайти? Чёт я не понял
    да слишком замудрёно написал. Просто открыть .htaccess и внести изменения
  9. Итак, решил использовать API на реальной задаче

    ПЛЮСЫ

    1. Немного меньше кода.

    2. Не нужно задумываться подключены ли классы бд и загружали ли мы конфиг движка. Подключил API - оно дальше само :)Это самое главное преимущество

    МИНУСЫ

    1. Плохая документация. Что именно возвращают методы остаётся загадкой, если не залезть в код или не попробовать запустить.

    2. Неотформатирован код

    Обнаружил ошибку в версии 0.05 в строке

    $condition = "category IN (" . implode ( ',', $cats ) . ")'";
    а именно одинарная кавычка лишняя. Для чего нужно $dle_api->files и метод - show_cached_files() не понял, а ведь он запускается хочу я этого или нет - кушает ресурсы :) Пример использования API
    require_once ROOT_DIR.'/engine/api/api.class.php';
    
    /*
    
     *	ЗАБИРАЕМ НОВОСТИ СОГЛАСНО НАСТРОЕК
    
     */
    
    $q = $showShort == 1 ? ', short_story' : '';
    
    $news = $dle_api->load_from_cache('aktauInformer'.$count, 18000, 'fire');
    
    if(!$news)
    
    {
    
    	$dle_api->dle_config['allow_multi_category'] = 0;
    
    	$news = $dle_api->take_news($config['informer']['news']['cats'], 'id, title'.$q, 0, $count, 'date');
    
    	$dle_api->save_to_cache('aktauInformer'.$count, $news);	
    
    }
    
    foreach($news as $row)
    
    {
    
    	$title = substr($row['title'], 0, $titleSize);
    
    	if($title != $row['title']) $title.= '...';
    
    
    	if($showShort == 1)
    
    	{
    
    		// Обрабокта анонса новости
    
    		$row['short_story'] = strip_tags($row['short_story']);
    
    		$shortStory = substr($row['short_story'], 0, $shortSize);
    
    		if($shortStory != $row['short_story']) $shortStory.= '...';		
    
    		$js .= 'aktauInformerRowExt("'.$title.'", "'.trim($shortStory).'", '.$row['id'].');'."\n";		
    
    	}
    
    	else
    
    	{
    
    		$js .= 'aktauInformerRow("'.$title.'", '.$row['id'].');'."\n";		
    
    	}	
    
    }
    
    $js .= 'setTimeout(aktauInformerRender, 100)';
    
    
    header('Content-Type: application/x-javascript');
    
    print $js;

    В целом неплохой инструмент :)

×
×
  • Создать...