<![CDATA[Форум Kan-Studio — Модули]> http://forum.kan-studio.ru/index.php Thu, 25 Feb 2016 16:59:33 +0000 Flazy 0.7 <![CDATA[Модуль поиска; Ошибка в раскладке при поиске]> http://forum.kan-studio.ru/viewtopic.php?id=1651&action=new Требуется ли сайту поиск для тех кто по ошибке о печатался в поисковой форме?

Например изменить вывод поиска добавив так:

Ничего не найдено по запросу «ctujlyz».
Попробуйте изменить параметры поиска.

Может вы искали «сегодня»
Всего найдено стр. по запросу «сегодня» :
Ошибки SEO /stati/oshibki_seo.html
от Search Engine Optimization) это одно из наиболее эффективных на сегодня средств раскрутки сайта, представляющее собой тонкую настройку разных элементов веб-сайта для того, чтобы привлечь пользователей поисковых машин.


Изменил файл поиска "search.php"
Добавил такую функцию:

function correctString($string)//Неправильная раскладка клавиатуры
    {
     $search =  array(
      "/q/iu","/w/iu","/e/iu","/r/iu","/t/iu","/y/iu","/u/iu","/i/iu","/o/iu","/p/iu","/\[/iu","/\]/iu",
      "/a/iu","/s/iu","/d/iu","/f/iu","/g/iu","/h/iu","/j/iu","/k/iu","/l/iu","/\;/iu","/\'/iu",
      "/z/iu","/x/iu","/c/iu","/v/iu","/b/iu","/n/iu","/m/iu","/,/iu","/\./iu"
      );
      $replace = array(
      "й","ц","у","к","е","н","г","ш","щ","з","х","ъ",
      "ф","ы","в","а","п","р","о","л","д","ж","э",
      "я","ч","с","м","и","т","ь","б","ю"
      );
      return preg_replace($search, $replace, $string);
    }

Полный код страницы.


<?php
function safestr($str){
    $sfs=trim($str);
    return str_replace("\n","<br />",str_replace("\r\n","<br />", htmlspecialchars(strip_tags($sfs))));
}
function correctString($string)//Неправильная раскладка клавиатуры
    {
     $search =  array(
      "/q/iu","/w/iu","/e/iu","/r/iu","/t/iu","/y/iu","/u/iu","/i/iu","/o/iu","/p/iu","/\[/iu","/\]/iu",
      "/a/iu","/s/iu","/d/iu","/f/iu","/g/iu","/h/iu","/j/iu","/k/iu","/l/iu","/\;/iu","/\'/iu",
      "/z/iu","/x/iu","/c/iu","/v/iu","/b/iu","/n/iu","/m/iu","/,/iu","/\./iu"
      );
      $replace = array(
      "й","ц","у","к","е","н","г","ш","щ","з","х","ъ",
      "ф","ы","в","а","п","р","о","л","д","ж","э",
      "я","ч","с","м","и","т","ь","б","ю"
      );
      return preg_replace($search, $replace, $string);
    }
$searching=@safestr($_POST['searchstring']);
echo '<form id="mySearchForm" name="mySearch" action="search.html" method="post">
<table class="feedback" cellspacing="4">
    <tr>
        <td>'; if (!empty($searching)) echo '
            <input id="query-search" type="text" style="width:300px;padding:4px" name="searchstring" value="'.$searching.'">';
else echo '<input id="query-search" type="text" style="width:300px;padding:4px" name="searchstring" value="">';
        echo '</td>
        <td><input type="submit" style="width:160px;padding:4px" value="Поиск по страницам" /></td>
    </tr>
</table>
</form><br />';
echo '<form id="mySearchForm" name="mySearch" action="search-news.html" method="post">
<table class="feedback" cellspacing="4">
    <tr>
        <td>'; if (!empty($searching)) echo '
            <input id="query-search" type="text" style="width:300px;padding:4px" name="searchstring" value="'.$searching.'">';
else echo '<input id="query-search" type="text" style="width:300px;padding:4px" name="searchstring" value="">';
        echo '</td>
        <td><input type="submit" style="width:160px;padding:4px" value="Поиск в новостях" /></td>
    </tr>
</table>
</form><br />';
$searchingcorrect = correctString($searching);
function searching($search){
    if(!empty($search)){
        $arr = ROOT_PATH.'articles';
        $dir = scandir($arr,1);
        $arr2 = str_replace("/articles",'',$arr);
        for ($i = 0; $i < count($dir)-2; $i++) {
            if( preg_match("/\.dat$/i",$dir[$i])) {
                if(preg_match("/(^404)\.dat/i",$dir[$i]))continue;
                if(file_exists($arr.'/'.$dir[$i])) {
                    $fh = @fopen($arr.'/'.$dir[$i], 'r');
                    $data = fread($fh, filesize($arr.'/'.$dir[$i]));
                    fclose($fh);
                    $seach_page = preg_replace('/\.dat$/i','.html',$dir[$i]);
                    $page = "/$seach_page";
                    unset($count, $content);
                    $data= preg_replace("'<style[^>]*?>.*?</style>'si", "", $data);
                    $data= preg_replace("'<script[^>]*?>.*?</script>'si", "", $data);
                    $data= preg_replace("'<head[^>]*?>.*?</head>'si", "", $data);
                    $data= preg_replace("|<meta[^>]+>|si", "", $data);
                    $read_bak=$data;
                    $data= preg_replace( "'&(nbsp|#160);'i", " ", $data);
                    $data= preg_replace( "'([\r\n])[\s]+'", " ", $data);
                    $text = explode('<!-- Kan_title -->',$data);
                    @$title=$text[1];
                    $text = explode('<!-- Kan_content -->',$data);
                    @$content .= $text[1];
                    $content= strip_tags($content);
                    $arr_searching=explode(" ",$search);
                    unset($relevant);
                    foreach($arr_searching as $line) {
                        $pattern="/$line/i";
                        @$count+=preg_match_all($pattern,$content,$found);
                        @$relevant+=preg_match_all($pattern,$content,$found);
                        $count+=preg_match_all($pattern,$title,$found);
                        $relevant+=preg_match_all($pattern,$title,$found);
                    }
                    if($count){
                        @$count_query_res++;
                        $read_bak= strip_tags($read_bak,"<br /><p><font><b><i><u><pre><table><td><tr><h1><h2><h3><h4><h5>");
                        $read_bak= preg_replace( "'&(nbsp|#160);'i", " ", $read_bak);
                        $read_bak= preg_replace( "'([\r\n])[\s]+'", " ", $read_bak);
                        foreach($arr_searching as $line) {
                            if(strpos($read_bak,$line)===false) $line=strtolower($line);
                            if(strpos($read_bak,$line)===false) $line=ucfirst($line);
                            if(strpos($read_bak,$line)===false) $line=ucwords($line);
                            if(strpos($read_bak,$line)===false) $line=strtoupper($line);
                            $read_bak=  str_replace($line,"<span id=select>$line</span>", $read_bak);
                        }
                        @$count_bak++;
                        foreach($arr_searching as $line) {
                            if(strpos($content,$line)===false) $line=strtolower($line);
                            if(strpos($content,$line)===false) $line=ucfirst($line);
                            if(strpos($content,$line)===false) $line=ucwords($line);
                            if(strpos($content,$line)===false) $line=strtoupper($line);
                            $word_pos= strpos($content,$line);
                            if($word_pos!==false) break;
                        }
                        $to_word = substr($content, 0, $word_pos);
                        $start = strrpos($to_word, ".");
                        if ($start != 0) $start++; else $start=0;
                        $to_stop = substr($content, $word_pos);
                        $stop = strpos($to_stop, ".") + 1 + $word_pos;
                        if(strpos($content,".",$word_pos)===false)$stop=strlen($content)+1;
                        $content=substr($content,$start,(++$stop-$start));
                        foreach($arr_searching as $line) {
                            $pattern="/($line)/i";
                            $replacement="<b><font color=red>\$1</font></b>";
                            $content=preg_replace($pattern, $replacement, $content);
                            $title=preg_replace($pattern, $replacement, $title);
                        }
                        $link=substr_replace(@$dirname,"",0,2);
                        if($title=="") $title="Документ без названия";
                        if($seach_page!="main.html") {$link1="<a href=$seach_page>$title</a>"; $link2="/$seach_page";}
                        else {$link1="<a href=/>$title</a>"; $link2="/";}
                        if($seach_page!="404.html"){
                            $output[@$founded][$relevant] = ' '.$link1.'
                                <span>'.$link2.'</span>
                                <span><div>'.$content.'</div></span><br />';
                            $rel[@$founded] = $relevant;
                            @$founded++;
                        }
                    }
                }
            } else {
                if(preg_match("/(^\.)|(\.[a-z]*)/i",$dir[$i]))continue;
                if(file_exists($arr.'/'.$dir[$i].'/main.dat')) {
                    $tempdir=scandir($arr.'/'.$dir[$i],1);
                    for ($j = 0; $j < count($tempdir)-2; $j++) {
                        if( preg_match("/\.dat$/i",$dir[$i].'/'.$tempdir[$j])) {
                            if(file_exists($arr.'/'.$dir[$i].'/'.$tempdir[$j])) {
                                $fh = @fopen($arr.'/'.$dir[$i].'/'.$tempdir[$j], 'r');
                                $data = fread($fh, filesize($arr.'/'.$dir[$i].'/'.$tempdir[$j]));
                                fclose($fh);
                                $seach_page = preg_replace('/\.dat$/i','.html',$tempdir[$j]);
                                $page = "$dir[$i]/$seach_page";
                                //echo($page."<br />");
                                unset($count, $content);
                                $data= preg_replace("'<style[^>]*?>.*?</style>'si", "", $data);
                                $data= preg_replace("'<script[^>]*?>.*?</script>'si", "", $data);
                                $data= preg_replace("'<head[^>]*?>.*?</head>'si", "", $data);
                                $data= preg_replace("|<meta[^>]+>|si", "", $data);
                                $read_bak=$data;
                                //$data= strip_tags($data);
                                $data= preg_replace( "'&(nbsp|#160);'i", " ", $data);
                                $data= preg_replace( "'([\r\n])[\s]+'", " ", $data);
                                //echo htmlspecialchars($data).'<br />';
                                $text = explode('<!-- Kan_title -->',$data);
                                @$title=$text[1];
                                $text = explode('<!-- Kan_content -->',$data);
                                @$content .= $text[1];
                                $content= strip_tags($content);
                                //echo $title.'<br />'.$content;
                                $arr_searching=explode(" ",$search);
                                unset($relevant);
                                foreach($arr_searching as $line) {
                                    $pattern="/$line/i";
                                    @$count+=preg_match_all($pattern,$content,$found);
                                    @$relevant+=preg_match_all($pattern,$content,$found);
                                    $count+=preg_match_all($pattern,$title,$found);
                                    $relevant+=preg_match_all($pattern,$title,$found);
                                }
                                //echo ($title.'<br />'.$pattern.'<>'.$content.'<>'.$count.'<br /><br /><br />');
                                if($count){
                                    @$count_query_res++;
                                    $read_bak= strip_tags($read_bak,"<br /><p><font><b><i><u><pre><table><td><tr><h1><h2><h3><h4><h5>");
                                    $read_bak= preg_replace( "'&(nbsp|#160);'i", " ", $read_bak);
                                    $read_bak= preg_replace( "'([\r\n])[\s]+'", " ", $read_bak);
                                    foreach($arr_searching as $line) {
                                        if(strpos($read_bak,$line)===false) $line=strtolower($line);
                                        if(strpos($read_bak,$line)===false) $line=ucfirst($line);
                                        if(strpos($read_bak,$line)===false) $line=ucwords($line);
                                        if(strpos($read_bak,$line)===false) $line=strtoupper($line);
                                        $read_bak=  str_replace($line,"<span id=select>$line</span>", $read_bak);
                                    }
                                    @$count_bak++;
                                    foreach($arr_searching as $line) {
                                        if(strpos($content,$line)===false) $line=strtolower($line);
                                        if(strpos($content,$line)===false) $line=ucfirst($line);
                                        if(strpos($content,$line)===false) $line=ucwords($line);
                                        if(strpos($content,$line)===false) $line=strtoupper($line);
                                        $word_pos= strpos($content,$line);
                                        if($word_pos!==false) break;
                                    }
                                    $to_word = substr($content, 0, $word_pos);
                                    $start = strrpos($to_word, ".");
                                    if ($start != 0) $start++; else $start=0;
                                    $to_stop = substr($content, $word_pos);
                                    $stop = strpos($to_stop, ".") + 1 + $word_pos;
                                    if(strpos($content,".",$word_pos)===false)$stop=strlen($content)+1;
                                    $content=substr($content,$start,(++$stop-$start));
                                    foreach($arr_searching as $line) {
                                        $pattern="/($line)/i";
                                        $replacement="<b><font color=red>\$1</font></b>";
                                        $content=preg_replace($pattern, $replacement, $content);
                                        $title=preg_replace($pattern, $replacement, $title);
                                    }
                                    @$link=substr_replace(@$dirname,"",0,2);
                                    if($title=="") $title="Документ без названия";
                                    if($seach_page!="main.html") {$link1="<a href=/$dir[$i]/$seach_page>$title</a>"; $link2="/$dir[$i]/$seach_page";}
                                    else {$link1="<a href=/$dir[$i]/>$title</a>"; $link2="/$dir[$i]/";}
                                    if($seach_page!="404.html"){
                                        $output[@$founded][$relevant] = ' '.$link1.'
                                            <span>'.$link2.'</span>
                                            <span><div>'.$content.'</div></span><br />';
                                        $rel[@$founded] = $relevant;
                                        @$founded++;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }    
    return array("rel"=>$rel,"out"=>$output);
}    
    echo '<div name="result_local" number="1120"><div class="gridwidth_4" style="margin-top:1em;">';
    if(empty($founded)) {
        echo '<div><span><div><span><b>Ничего не найдено по запросу «<font color=red>'.$searching.'</font>».<br />Попробуйте изменить параметры поиска.</b></span></div></span></div>';
        echo '<div><span><b>Может вы искали «<font color=red>'.$searchingcorrect.'</font>»</b></span></div>';
    $relatcorrect_arrray = searching($searchingcorrect);
    $relatcorrect = array_unique($relatcorrect_arrray['rel']);
    rsort($relatcorrect);
    reset($relatcorrect);
        echo '<div><span><div><span><b>Всего найдено '.$founded.' стр. по запросу «<font color=red>'.$searchingcorrect.'</font>» :</b></span></div></span></div><div id="mysearch"><div class="gridwidth_4" style="margin-top:1em;">';
        foreach($relatcorrect as $key => $val) {
            foreach($relatcorrect_arrray['out'] as $ke => $va){
                foreach($va as $k => $v){
                    if($k == $val) echo $v;
                }
            }
        }
        echo '</div></div>';
        echo '</div></div>';
    } else {
    $relat_array = searching($searching);
    $relat = array_unique($relat_array['rel']);
    rsort($relat);
    reset($relat);
        echo '<div><span><div><span><b>Всего найдено '.$founded.' стр. по запросу «<font color=red>'.$searching.'</font>» :</b></span></div></span></div><div id="mysearch"><div class="gridwidth_4" style="margin-top:1em;">';
        foreach($relat as $key => $val) {
            foreach($relat_array['out'] as $ke => $va){
                foreach($va as $k => $v){
                    if($k == $val) echo $v;
                }
            }
        }
        echo '</div></div></div></div>';
    }
?>
]>
Thu, 25 Feb 2016 16:59:33 +0000 http://forum.kan-studio.ru/viewtopic.php?id=1651&action=new
<![CDATA[Как избавиться от спама в гостевой?; Стал приходить спам в гостевую книгу сайта]> http://forum.kan-studio.ru/viewtopic.php?id=685&action=new Приветствую всех
Ребята, подскажите пожалуйста как защититься от спама, который начал приходить в гостевую книгу сайта? Модуль гостевой взял здесь в разделе дополнений: http://kan-studio.ru/download/dopolneniya/ Есть ли какая-то возможность приделать к ней капчу?

Заранее спасибо

]>
Fri, 18 Dec 2015 07:40:15 +0000 http://forum.kan-studio.ru/viewtopic.php?id=685&action=new
<![CDATA[Рейтинг для статей и новостей; Рейтинг для статей и новостей]> http://forum.kan-studio.ru/viewtopic.php?id=1626&action=new Привет всем!
Может кто подскажет как реализовать "звездный" рейтинг для статей и новостей в Кандидате 1.5.4? Уже весь форум облазил.... Может кто знает как ...

]>
Wed, 21 Oct 2015 07:35:23 +0000 http://forum.kan-studio.ru/viewtopic.php?id=1626&action=new
<![CDATA[Отдельный модуль под категорию Фотоальбома]> http://forum.kan-studio.ru/viewtopic.php?id=1533&action=new Есть идея, нужна помощь завсегдатых PHP в реализации.
Суть идеи:
Имеется сайт, фотоальбом с несколькими категориями фото. + Несколько статических страниц с доп описанием и текстом под эти категории.
Так вот. Как сделать что бы конкретная категория была привязана с конкретной странице с описанием под нее.
Конечно можно сделать одну статическую страницу с текстом и подвязать под нее photo.php - но тогда все будет в куче не говоря уже о коментах к ней.
Как результат нужен отдельный photo.php под каждую страницу рассчитанный на подвязку только одой категории из фотоальбома + тогда к каждой такой странице с доп текстом можно будет вынести отдельный коментарии которые будут относится к конкретной категории фото.

]>
Wed, 13 May 2015 16:55:41 +0000 http://forum.kan-studio.ru/viewtopic.php?id=1533&action=new
<![CDATA[Модуль регистрации; Простенькая регистрация на сессиях]> http://forum.kan-studio.ru/viewtopic.php?id=1181&action=new Вот ссылка модуля Регистрация

]>
Thu, 30 Apr 2015 20:09:39 +0000 http://forum.kan-studio.ru/viewtopic.php?id=1181&action=new
<![CDATA[Добавлен модуль опросов]> http://forum.kan-studio.ru/viewtopic.php?id=923&action=new Думаю многим будет полезен модуль опросов на сайте.
Очень удобен, имеет множество настроек и в тоже время прост.
Качаййте отсюда Модуль "Опрос"
Просто скопируйте содержимое архива в корень сайта с заменой файла.
Или можете скачать готовую сборку, где он уже встроен и работает.
KandidatCMS_v.1.4.6_uspeh_vladrom

]>
Wed, 22 Apr 2015 20:18:43 +0000 http://forum.kan-studio.ru/viewtopic.php?id=923&action=new
<![CDATA[Гостевая книга; капчу]> http://forum.kan-studio.ru/viewtopic.php?id=1560&action=new Доброго времени суток.
Требуется удалить капчу из гостевой книги
http://data2.floomby.com/files/share/16_2_2015/12/P97eIPTbS0ilPt6EYzKGwQ.jpg

Как удалить?

]>
Mon, 16 Feb 2015 16:13:29 +0000 http://forum.kan-studio.ru/viewtopic.php?id=1560&action=new
<![CDATA[Обратная связь]> http://forum.kan-studio.ru/viewtopic.php?id=1108&action=new Простая обратная связь. Легко настраивается, адрес отправки письма не зависит от того, что указано в настройках сайта, прописаны основные поля, капча отсутсвтвует. Это очень удобно, если на сайте используется несколько форм (например, для общей связи и связи со службой поддержки). Приведенный код вставляем в mycode/feedback.php (либо в этой папке создаем собственный php-файл). Модуль устанавливается как обычно: открываем dat-файл с нужной статьей (например, contact.dat, расположенный в папке article) и пишем под контентом: <!-- Kan_myinclude -->feedback<!-- Kan_myinclude -->.

Скрипт модуля (feedback.php):
<?php
$adresat = "имя@почта.ru";   #Меняем на свой адрес
$status = "Администрация";   #Ваша подпись
$msg = "<p>Спасибо!<br />Ваше сообщение было отправлено, и мы обязательно Вам ответим!</p> #Текст при удачной отправке
<p>$status</p>";
$you = "$status. E-mail: $adresat";
if ($submit) {
   if(eregi("^[a-zA-Z0-9\._-]+@[a-z0-9\._-]+\.[a-z]{2,4}\$",$email))
   {
   if(empty($name)) echo "Введите Ваше имя корректно."; #Текст при ошибке в имени
   else
   {
   mail("$adresat", "Сообщение с сайта", "От: $name\nАдрес: $email\nСообщение:\n\n$message"); #Вид письма у вас в ящике
   echo "$msg\n";
   }
   } else {
   echo "<p>Некоторые данные были неверно указаны. Пожалуйста, вернитесь и заполните все поля корректно.</p>";   #Текст при ошибке
   }
}
else {
?>
<form action="contact.html" method="post">
<table>
<tr>
<td>Имя:</td>
<td><input type="text" name="name" size="30" maxlength="50" pattern="^[А-Яа-яЁё\s-]+$" required /></td>
</tr>
<tr>
<td>E-mail:</td>
<td><input type="text" name="email" size="30" maxlength="50" pattern="^([0-9a-zA-Z]+[-._+&])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}$" required /></td>
</tr>
<tr>
<td>Ваше сообщение:</td><td><textarea style="resize: none" cols="40" rows="9" name="message" maxlength="2000" required></textarea></td>
</tr>
</table>
<br />
<input name="submit" type="submit" value="Отправить" />
</form>
<?php
} // end "else" and end of this script)
?>

Добавлено через 4 минуты
Если кому-то нужно, то могу помочь с оформлением обратки средствами css и jquery.

]>
Sun, 28 Dec 2014 05:28:03 +0000 http://forum.kan-studio.ru/viewtopic.php?id=1108&action=new
<![CDATA[Модуль "Популярные статьи"]> http://forum.kan-studio.ru/viewtopic.php?id=1429&action=new Выложил модуль, написанный для Kandidat CMS, название которого говорит само за себя.
Скрипт ведет учет количества просмотров статей (не новостей) в кандидате и водит в нужном месте шаблона блок самых популярных по количеству просмотров статей.

Скачать и почитать о том, как установить скрипт на свой сайт можно ЗДЕСЬ.

Скрипт не задевает баз сайта, поэтому легко устанавливается и также легко сноситься.

Возникнут проблемы и пожелания - пишите либо здесь, либо в комментариях к посту.

]>
Sat, 06 Dec 2014 11:53:12 +0000 http://forum.kan-studio.ru/viewtopic.php?id=1429&action=new
<![CDATA[Облако гегов]> http://forum.kan-studio.ru/viewtopic.php?id=742&action=new Ребята, подскажите как прикрутить к Кандидату облако тегов (возможно трехмерное), которое бы индексировалось поисковиками? Пробовал два разных варианта, но пока что не работает.

Спасибо

]>
Sat, 06 Dec 2014 11:41:47 +0000 http://forum.kan-studio.ru/viewtopic.php?id=742&action=new
<![CDATA[Опрос. Нужен ли магазин на базе Kandidat CMS?]> http://forum.kan-studio.ru/viewtopic.php?id=1448&action=new Здравствуйте!
Хотелось бы услышать ваше мнение по поводу того, нужен ли модуль интернета-магазина для сайтов работающих на Kandidat CMS? Свои мнения и пожелания оставляете либо здесь, либо в комментариях на соответствующей странице сайта.

Заранее спасибо всем за уделенную минуту smile

]>
Tue, 14 Oct 2014 13:31:44 +0000 http://forum.kan-studio.ru/viewtopic.php?id=1448&action=new
<![CDATA[Новый вариант работы модуля ФОТО-АЛЬБОМА]> http://forum.kan-studio.ru/viewtopic.php?id=1460&action=new Новый вариант работы модуля ФОТО-АЛЬБОМА.

Вывод всех фото в форматированном формате, т.е. с помошью Jscript и css выводим все фото одинаковой высоты (например 180px), этот параметр задан в файле photo.php строка 28
.imgList { max-height:180px; border:1px solid #dedede;background:#ffffff;padding:4px;float:center; }
Дальше все сделает Jscript-скрипт.
Пример можно смотреть здесь:
http://kan-studio.ru/photo-cat-Wallpapers.html

Файлы для админки не изменялись.

CКАЧАТЬ АРХИВ НОВОГО ОТОБРАЖЕНИЯ ФОТО

В архиве прочитайте установку в файле ReadMe.txt

]>
Thu, 09 Oct 2014 15:30:56 +0000 http://forum.kan-studio.ru/viewtopic.php?id=1460&action=new
<![CDATA[Каталог товаров на сайте]> http://forum.kan-studio.ru/viewtopic.php?id=1485&action=new Добрый день!
Подскажите, пожалуйста, каким образом можно (и лучше) организовать на сайте каталог товаров с фото и описанием?

]>
Sun, 28 Sep 2014 11:48:44 +0000 http://forum.kan-studio.ru/viewtopic.php?id=1485&action=new
<![CDATA[express news для Kandidat CMS; модуль]> http://forum.kan-studio.ru/viewtopic.php?id=1137&action=new express news для Kandidat CMS  - windows-1251 и UTF8 кодировка

Очень простая, но полностью рабочая и эффективная добавка к системе, позволяющая просматривать любимые rss-ленты на своем сайте.
-------------------------------------------------
УСТАНОВКА
-------------------------------------------------
1. Закачать на сервер содержимое папки www в бинарном режиме, и в какой кодировке у вас сборка Kandidat CMS.
2. Добавить ссылку в меню
<a href="/express.html">Экспресс-новости</a>
3. Также можете отредактировать (по-желанию) список rss-каналов, который находится в файле
mycode/rss_links.txt (19 каналов)

Вот и всё!

пример работы можно увидеть на сайте
http://www.kan-studio.ru/express.html (windows-1251)
http://photo.kan-studio.ru/express.html (UTF-8)

Скачать express_news_kandidat_cms
Скачать express_news_kandidat_cms_utf

]>
Fri, 16 May 2014 07:08:45 +0000 http://forum.kan-studio.ru/viewtopic.php?id=1137&action=new
<![CDATA[Модуль комментариев на базе сервиса SV Kament; Замена комментариев в Kandidat CMS на комментарии от сервиса SV Kament]> http://forum.kan-studio.ru/viewtopic.php?id=1447&action=new Здравствуйте.
Написал небольшой модуль, который позволяет заменить стандартные комментарии в Kandidat CMS на комментарии от сервиса SV Kament. Теперь комментарии к вашим страницам могут выглядеть как на скрине ниже. Подробнее о модуле смотрим здесь. Видео урок по его установке здесь.

Модуль комментариев для kandidat cms

]>
Fri, 02 May 2014 16:50:10 +0000 http://forum.kan-studio.ru/viewtopic.php?id=1447&action=new