Вы не зашли.
vitaly, если что - у меня есть платный, почти универсальны клиент Датакол. Могу потестить удалённую публикацию, если допишешь.
Например в Вордпресс он легко и быстро публикует сотни постов.
А вообще, как я вижу - тут в последнее время обсуждается тема нужности движка и его сео-возможности. Так вот, я за всё время пользования скриптом постоянно стараюсь его максимально оптимизировать под ПС для получения трафика на сайт, но это получается с трудом, поскольку многие функции работают сыро... На данный момент вроде довёл оптимизацию на сайте до ума. Но сколько нервов на это потратил. При таком раскладе - движок не будет пользоваться спросом у большинства вэбмастеров, а привлечёт внимание только программистов-трудоголиков.
Простому народу нужна лёгкость установки и настройки под свои нужды. Вордпресс, ДЛЕ, и подобные двиги такие возможности предоставляют в большом ассортименте. Могу привести примеры скриптов с хорошим функционалом, быстродействием и удобством администрирования/пользования...
Конечно, есть вариант поддержки штатного XML-RPC от Wordpress, но при этом:
1. Оно не позволит воспользоваться функционалом плагинов
2. Оно вообще хоть кому-то нужно в таком виде? Какое-то время назад была идея сделать данный интерфейс (благо, он делается достаточно просто), но не удалось найти желающих им воспользоваться. Делать же "чтобы было" как-то не хочется.
Я видел на форуме несколько человек, изъявивших желание иметь такой функционал. А это значит, что желающих на самом деле может быть намного больше.
Я первым воспользуюсь и отпишусь о результатах. А может и идею об использовании подкину сюда...
Сокол, XMLRPC - это, конечно, хорошо.
Более того, уже сейчас у двига есть RPC интерфейс с поддежркой JSON и возможностью подключения поддержки XML.
Где можно почитать поподробнее о назначении и применении?
1. Есть масса плагинов, которые ничего о RPC не знают. В принципе, их можно игнорировать.
2. Нет клиента, который бы использовал данный RPC.
1. при публикации новостей что именно пострадает без этих плагинов?
2. Можно потестировать существующие клиенты. Например платный Датакол. Есть ещё Цербер и CD. Или вот такой, бесплатный: http://blogclient.ru/downloads.
На NG - пока никак!
Такой функционал никто не берётся написать. Даже на фриланс ру нет желающих браться...
Если бы сюда добавить хоть часть функционала, который дают плагины Вордпресса или ДЛЕ, то мне другие сиэмэски были бы не нужны.
Что мешает, например, добавить возможность публикации новостей через XMLRPC?
Если бы такое реализовали, то я первым бы написал хвалебную оду движку на своём сео-блоге и добавил бы отзывы на форумы + в сиэмэс-магазин...
Вполне нормальный посещаемый и полезный СДЛ можно сделать.
Только отсутствие некоторых возможностей и неудобство админ панели (при добавлении картинок например) заставляют искать альтернативу под новые проекты...
+ генерация движком каких то непонятных мусорных страниц (уже писал об этом - повторять нет желания) = не есть хорошо для индексации и ранжирования. ИМХО.
Выбор при поиске альтернатив обычно падает на Вордпресс и ДЛЕ.
А может проще сделать плагин каталога сайтов/ресурсов для НГ??? Я могу расписать подробно ТЗ.
И кемана тогда не понадобится.
Апну, поскольку мне тоже понадобился такой плагин.
Неужели никто не желает взяться???
Не бесплатно же.
Формат текстового файла можно задать любой удобный.
Мне например, без разницы, какой шаблон делать для парсера - воткнёт контент куда и как покажу.
Если интереса не будет, то придётся заказывать на фрилансе...
Жесть. Поиск по фразе "внешние ссылки во внутренние" пробовали сначала?
нет, я пробовал поиск "редирект". такая фраза мне даже в голову не пришла...
глянул тему, попробую сделать на днях.
Wolverine, спасибо!
Разобрался.
У этого плагина нужно поточнее переписывать описание, а то не все поймут...
...Если нужен просто пример перенаправления, то могу выложить код.
Выложи пожалуйста, если он рабочий!
Этот вопрос вроде раньше поднимали.
Так вроде или поднимали???
Я не нашёл на форуме.
Сокол, надо чтоб страница открывалась по такому адресу или была страница которая перенаправит на этот адрес? Внешние ссылки должны все автоматически становиться такими или когда ты сам их прописываешь?
1. Страница, которая перенаправит на чужой сайт
2. Автоматически шифруются или переписываются.
Сабж.
Возможно ли превращать внешние ссылки во внутренние с помощью хака/плагина/скрипта?
Например чтобы урл был такой: sayt.ru/redir.php?url=abc или что-то подобное...
Вот выкладываю то, что было в комплекте с релизом + моя вставка цифры 17.
<?php
// Protect against hack attempts
if (!defined('NGCMS')) die ('HAL');
add_act('index', 'plugin_lastnews');
function plugin_lastnews(){
global $template;
$template['vars']['plugin_lastnews'] = plugin_lastnewsGenerator('', array(), array('number' => extra_get_param('lastnews','number'), 'maxlength' => extra_get_param('lastnews','maxlength')));
}
//
// $orderby - param for news order in show (SQL expression, NO SECURITY CHECK !!!)
// $categories - a list of categories - array of elements, each element may be a category ID or an array of categories
// $overrideParams - a list of overriding params
// * number - number of news to show
// * offset - news number offset
// * dateformat - manually set date format for display [default: "{day0}:{month0}:{year}"]
// * {day} - day number
// * {day0} - day number with leading zero
// * {month} - month number
// * {month0} - month number with leading zero
// * {year} - year (in 4 digit format)
// * {year2} - year (in 2 digit format)
// * {month_s} - month name, short
// * {month_l} - month name, long
// * {hour} - hour
// * {hour0} - hour with leading zero
// * {minute0} - minute with leading zero
//
// * maxlength - maximum length of news title (cut)
// * overrideTemplatePath - path for template
function plugin_lastnewsGenerator($orderby = '', $categories = array(17), $overrideParams = array()) {
global $config, $mysql, $tpl, $lang, $langShortMonths, $langMonths, $PFILTERS;
// Generate cache file name [ we should take into account SWITCHER plugin & calling parameters ]
$cacheFileName = md5('lastnews'.$config['theme'].$config['default_lang'].var_export($categories, true).var_export($overrideParams, true)).'.txt';
if (extra_get_param('lastnews','cache')) {
$cacheData = cacheRetrieveFile($cacheFileName, extra_get_param('lastnews','cacheExpire'), 'lastnews');
if ($cacheData != false) {
// We got data from cache. Return it and stop
return $cacheData;
}
}
if (intval($overrideParams['number']) <= 1) {
$number = 10;
} else {
$number = intval($overrideParams['number']);
}
$offset = isset($overrideParams['offset'])?intval($overrideParams['offset']):0;
if (intval($overrideParams['maxlength']) <= 1) {
$maxlength = 100;
} else {
$maxlength = intval($overrideParams['maxlength']);
}
// Determine paths for all template files
if (isset($overrideParams['overrideTemplatePath']) && $overrideParams['overrideTemplatePath']) {
$tpath = array('entries' => $overrideParams['overrideTemplatePath'], 'lastnews' => $overrideParams['overrideTemplatePath']);
} else {
$tpath = locatePluginTemplates(array('entries', 'lastnews'), 'lastnews', extra_get_param('lastnews', 'localsource'));
}
$filter = array ('approve = 1');
//
$catfilter = array();
foreach ($categories as $cat) {
if (is_array($cat)) {
$catsubfilter = array();
foreach ($cat as $subcat)
$catsubfilter [] = "(catid regexp '[[:<:]](".$subcat.")[[:>:]]')";
$catfilter [] = '('.join (' AND ', $catsubfilter).')';
} else {
$catfilter [] = "(catid regexp '[[:<:]](".$cat.")[[:>:]]')";
}
}
if (count($catfilter))
$filter [] = '('.join(' OR ', $catfilter).')';
// Preparation for plugin integration [if needed]
$callingParams = array();
if (extra_get_param('lastnews', 'pcall')) {
$callingParams['plugin'] = 'lastnews';
switch (intval(extra_get_param('lastnews', 'pcall_mode'))) {
case 1: $callingParams['style'] = 'short';
break;
case 2: $callingParams['style'] = 'full';
break;
default: $callingParams['style'] = 'export';
}
// Preload plugins
load_extras('news:show');
load_extras('news:show:one');
}
$result = '';
foreach ($mysql->select("select * from ".prefix."_news where ".join(" AND ", $filter)." order by ".($orderby?$orderby:"id desc")." limit ".$offset.",".$number) as $row) {
// Execute filters [ if requested ]
if (extra_get_param('lastnews', 'pcall') && is_array($PFILTERS['news']))
foreach ($PFILTERS['news'] as $k => $v) { $v->showNewsPre($row['id'], $row, $callingParams); }
$tvars['vars'] = array(
'link' => newsGenerateLink($row),
'views' => $row['views']
);
// Set formatted date
$dformat = (isset($overrideParams['dateformat']))?$overrideParams['dateformat']:(extra_get_param('lastnews','dateformat')?extra_get_param('lastnews','dateformat'):'{day0}.{month0}.{year}');
$tvars['vars']['date'] = str_replace(array('{day}', '{day0}', '{month}', '{month0}', '{year}', '{year2}', '{month_s}', '{month_l}', '{hour}', '{hour0}', '{minute0}'),
array(date('j',$row['postdate']), date('d',$row['postdate']), date('n',$row['postdate']), date('m',$row['postdate']), date('y',$row['postdate']), date('Y',$row['postdate']), $langShortMonths[date('n',$row['postdate'])-1], $langMonths[date('n',$row['postdate'])-1], date('G', $row['postdate']), date('H', $row['postdate']), date('i', $row['postdate'])), $dformat);
if (strlen($row['title']) > $maxlength) {
$tvars['vars']['title'] = substr(secure_html($row['title']), 0, $maxlength)."...";
} else {
$tvars['vars']['title'] = secure_html($row['title']);
}
// Execute filters [ if requested ]
if (extra_get_param('lastnews', 'pcall') && is_array($PFILTERS['news']))
foreach ($PFILTERS['news'] as $k => $v) { $v->showNews($row['id'], $row, $tvars, $callingParams); }
$tpl -> template('entries', $tpath['entries']);
$tpl -> vars('entries', $tvars);
$result .= $tpl -> show('entries');
}
unset($tvars);
$tvars['vars'] = array ( 'tpl_url' => tpl_url, 'entries' => $result);
$tpl -> template('lastnews', $tpath['lastnews']);
$tpl -> vars('lastnews', $tvars);
$output = $tpl -> show('lastnews');
if (extra_get_param('lastnews','cache'))
cacheStoreFile($cacheFileName, $output, 'lastnews');
return $output;
}
Плагин не работает!
Движок: 0.9.2 Release [SVN646]
Сделал блок со списком последних новостей, включил плагин, прописал в коде:
function plugin_lastnewsGenerator($orderby = '', $categories = array(17), $overrideParams = array())
т.е. выводить из категории 17 все новости.
Список выводится, только из всех категорий подряд! Что не так?
у меня впс
Virtual CPU 2048Mhz, 2048Mb memory, 204800Mb disk
Ничего себе! С такими параметрами - и виснет....
Ясно. спасибо за инфу!
И кэширование наверно везде включено при этом???...
Сокол, мне тоже интересно, пока у меня есть парочка сайтов которим скоро будет по 100тис. новостей, проблеми пока две
1. карта гугла иногда очень подгружает движек и хочем много ресурсов памяти
2. часто виснет сервак во время бекапа базы даных причем даже в 4 ночи когда нагрузка на сайте практически нулеваябольше проблем вроде не замечал
А у тебя виртуальный хостинг план или ВПС?
Новости с причиндалами типа комментов, тегов, рейтингов, количества просмотров и т.д?
Сайтмап для гугла я видимо не буду использовать на этом сайте...
Светани свой хостинг (можно только название).
Привет форумчане!
Решил сделать на НГ электронную библиотеку.
Вопрос: какое количество новостей каталога (без комментариев и прочих довесок) движок выдержит без отказа, например, при индексации Гуглом или Яндексом? 10.000? 100.000? 1.000.000?
И сколько примерно серверу nginx/1.0.6 потребуется ресурсов?
Поставил NGCMS 0.9.2 - заработало!
Спасибо!
Теперь жду проверки файла Гуглом и Яндексом...
варианты вопроса попроще:
1. как заменить такой формат урл: сайт.ру/search/?author=&catid=0&postdate=&search=%F0%E0%E1%EE%F2%E0
на допустим такой: сайт.ру/?q=работа ?
2. возможно ли в принципе сделать подсветку поисковых фраз, например жирным или цветом?
вот ссыль: www.sokolbank.ru/plugin/gsmg/
Поставил на сайт, активировал, настроил. По адресу .../plugin/gsmg/ - ничего не генерируется.
Версия 0.9.1 Release + SVN
Что не так?
Если это невозможно, то подскажите пожалуйста другие варианты (внешний скрипт и др.)!
Привет!
Мне на сайтик очень понадобилась такая фишка:
при вводе фразы в форму поиска - генерируется html-страница (или хотя бы где-то в отдельной папке кэшируется) с результатами поиска и подсветкой ключевых слов. при этом нужно чтобы урл этой страницы содержал слова фразы (ЧПУ).
Возможно такое сделать на NG???