Вы не зашли.
От себя добавлю 5 копеек:
Мне система очень понравилась и я реально загорелся мыслью ее продвигать. Поэтому реально помогу чем смогу.
А именно: сейчас я разворачиваю свой сайт на этой системе (сам я web-программист пишу модули фрилансю короче как могу) и я заказал адаптацию шаблона DLE под NG CMS. Есть неплохой сайт dlesh.ru (не реклама) просто мне на нем очень понравились шаблоны для дле и я планирую в течение следующего полугода как минимум 20-25 DLE шаблонов с этого сайта адаптировать под NG CMS и выложить в паблик (так же приму мысль передать вам чтобы вы выложили их на оф сайте). И я очень надеюсь что мой энтузиазм кто нибудь тоже поддержит потому что там реально шаблоны очень классные и для бесплатного доступа и если бы их все адаптировать для ngcms то этой бы системе цены бы не было
половина шаблонов уже адаптировано,и продолжают адаптировать,перед тем как адаптировать посмотри по форуму есть такой или нет.
скрипт набросал FNS,ему спасибо и +,я просто под себя адаптировал
в файле functions.inc.php строка 994
function generateCategoryMenu(){
global $mysql, $catz, $tpl, $config, $CurrentHandler, $SYSTEM_FLAGS, $TemplateCache, $twig, $twigLoader;
// Load template variables
templateLoadVariables(true);
$markers = $TemplateCache['site']['#variables']['category_tree'];
if (!isset($markers['class.active']))
$markers['class.active'] = 'active_cat';
if (!isset($markers['class.inactive']))
$markers['class.inactive'] = '';
if (!isset($markers['mark.default']))
$markers['mark.default'] = '—';
$result = '';
// Deremine working mode - old or new
// If template 'news.categories' exists - use `new way`, else - old
if (file_exists(tpl_site.'news.categories.tpl')) {
$tVars = array();
$tEntries = array();
foreach($catz as $k => $v){
if (!substr($v['flags'],0,1)) continue;
$tEntry = array(
'id' => $v['id'],
'cat' => $v['name'],
'link' => ($v['alt_url'] == '')?generateLink('news', 'by.category', array('category' => $v['alt'], 'catid' => $v['id'])):$v['alt_url'],
'mark' => isset($markers['mark.level.'.$v['poslevel']])?$markers['mark.level.'.$v['poslevel']]:str_repeat($markers['mark.default'], $v['poslevel']),
'level' => $v['poslevel'],
'cat' => $v['name'],
'counter' => $v['posts'],
'icon' => $v['icon'],
'flags' => array(
'active' => (isset($SYSTEM_FLAGS['news']['currentCategory.id']) && ($v['id'] == $SYSTEM_FLAGS['news']['currentCategory.id']))?true:false,
'counter' => ($config['category_counters'] && $v['posts'])?true:false,
)
);
$tEntries []= $tEntry;
}
// Update `hasChildren` and `closeLevel_X` flags for items
for ($i = 0; $i < count($tEntries); $i++) {
$tEntries[$i]['flags']['hasChildren'] = true;
if (($i == (count($tEntris)-1)) || ($tEntries[$i]['level'] >= $tEntries[$i+1]['level'])) {
// Mark that this is last item in this level
$tEntries[$i]['flags']['hasChildren'] = false;
// Mark all levels that are closed after this item
if ($i == (count($tEntries)-1)) {
//if ($i == 26) {
for ($x = 0; $x <= $tEntries[$i]['level']; $x++) {
$tEntries[$i]['flags']['closeLevel_'.$x] = true;
}
} else {
for ($x = $tEntries[$i+1]['level']; $x <= $tEntries[$i]['level']; $x++) {
$tEntries[$i]['flags']['closeLevel_'.$x] = true;
}
}
$tEntries[$i]['flags']['closeToLevel'] = intval($tEntries[$i+1]['level']);
}
}
// Prepare conversion maps
$conversionConfig = array(
'[entries]' => '{% for entry in entries %}',
'[/entries]' => '{% endfor %}',
'[flags.active]' => '{% if (entry.flags.active) %}',
'[/flags.active]' => '{% endif %}',
'[!flags.active]' => '{% if (not entry.flags.active) %}',
'[/!flags.active]' => '{% endif %}',
'[flags.counter]' => '{% if (entry.flags.counter) %}',
'[/flags.counter]' => '{% endif %}',
);
$tVars['entries'] = $tEntries;
$twigLoader->setConversion('news.categories.tpl', $conversionConfig);
$xt = $twig->loadTemplate('news.categories.tpl');
return $xt->render($tVars);
}
$tpl -> template('categories', tpl_site);
foreach($catz as $k => $v){
if (!substr($v['flags'],0,1)) continue;
$tvars['vars'] = array(
'if_active' => (isset($SYSTEM_FLAGS['news']['currentCategory.id']) && ($v['id'] == $SYSTEM_FLAGS['news']['currentCategory.id']))?$markers['class.active']:$markers['class.inactive'],
'link' => ($v['alt_url'] == '')?generateLink('news', 'by.category', array('category' => $v['alt'], 'catid' => $v['id'])):$v['alt_url'],
'mark' => isset($markers['mark.level.'.$v['poslevel']])?$markers['mark.level.'.$v['poslevel']]:str_repeat($markers['mark.default'], $v['poslevel']),
'level' => $v['poslevel'],
'cat' => $v['name'],
'counter' => ($config['category_counters'] && $v['posts'])?('['.$v['posts'].']'):'',
'icon' => $v['icon'],
);
$tvars['regx']['[\[icon\](.*)\[/icon\]]'] = trim($v['icon'])?'$1':'';
switch (intval(substr($v['flags'],1,1))) {
case 0: $rmode = true; break;
case 1: $rmode = ($v['posts'])?true:false; break;
case 2: $rmode = false; break;
}
$tvars['regx']['#\[if_link\](.+?)\[/if_link\]#is'] = $rmode?'$1':'';
$tpl -> vars('categories', $tvars);
$result .= $tpl -> show('categories');
}
return $result;
}
меняешь на
function generateCategoryMenu()
{
global $mysql, $catz, $tpl, $config, $CurrentHandler, $SYSTEM_FLAGS;
$result = '';
$tpl -> template('categories', tpl_site);
//основной большой цикл
foreach ($catz as $k=>$v)
{
if (!substr($v['flags'],0,1)) continue;
//проход дочерних категорий
foreach ($catz as $k1=>$v1)
{
if($v1['parent'] == $v['id'])
{
//делаем текущую категорию активной(подсвеченной в меню)
if (isset($SYSTEM_FLAGS['news']['currentCategory.id']) && ($v1['id'] == $SYSTEM_FLAGS['news']['currentCategory.id']))
$span=" class=\"active_cat\"";
else $span='';
$temp_child_catz[]="<li><img src='{$config['admin_url']}/includes/js/cat_img/join.gif' alt='join' /><a href='{$config['home_url']}/{$v1['alt']}.html'><span$span>".htmlspecialchars($v1['name'], ENT_QUOTES, 'utf8')."</span></a></li>";
$lastchild_cat = "<li><img src='{$config['admin_url']}/includes/js/cat_img/joinbottom.gif' alt='joinbottom' /><a href='{$config['home_url']}/{$v1['alt']}.html'><span$span>".htmlspecialchars($v1['name'], ENT_QUOTES, 'utf8')."</span></a></li>";
}
}
if($temp_child_catz) $temp_child_catz[count($temp_child_catz)-1] = $lastchild_cat;//если есть массив дочерних - меняем последний элемент
//если родительская категория
if($v['parent']==0)
{
if (isset($SYSTEM_FLAGS['news']['currentCategory.id']) && ($v['id'] == $SYSTEM_FLAGS['news']['currentCategory.id']))
$span=" class=\"active_cat\"";
else $span='';
//если в родителе были дети - выводим начало группы (+)
if (count ($temp_child_catz)>0)
{
$cat_menu[]="<li class='ogroup' style='list-style-type: none;' id='{$v['alt']}'><img src='{$config['admin_url']}/includes/js/cat_img/gpg-minus.gif' alt='minus' onclick='toggleMenuItems(this);' /> <a href='{$config['home_url']}/{$v['alt']}.html'><span$span>".htmlspecialchars($v['name'], ENT_QUOTES, 'utf8')."</span></a>\n<ul><li><span class='cat_line_img'></span>".implode("\n<li><span class='cat_line_img'></span>", $temp_child_catz)."</ul></li>";
$last_cat="<li class='ogroup' style='list-style-type: none;' id='{$v['alt']}'><img src='{$config['admin_url']}/includes/js/cat_img/gpg-minus.gif' alt='minus' onclick='toggleMenuItems(this);' />
{$config['home_url']}/{$v['alt']}.html'><span$span>".htmlspecialchars($v['name'], ENT_QUOTES, 'utf8')."</span></a>\n
<ul><li><span class='cat_blank'></span>".implode("\n<li><span class='cat_blank'></span>", $temp_child_catz)."</ul></li>";
}
//если в родителе не было детей, то без "+"
else
{
$cat_menu[]="<li><img src='{$config['admin_url']}/includes/js/cat_img/join.gif' alt='join' /><a href='{$config['home_url']}/{$v['alt']}.html'><span$span>".htmlspecialchars($v['name'], ENT_QUOTES, 'utf8')."</span></a></li>\n";
$last_cat ="<li><img src='{$config['admin_url']}/includes/js/cat_img/joinbottom.gif' alt='joinbottom' /><a href='{$config['home_url']}/{$v['alt']}.html'><span$span>".htmlspecialchars($v['name'], ENT_QUOTES, 'utf8')."</span></a></li>\n";
}
}
unset ($temp_child_catz);
//********* продолжение ng
$tvars['regx']['[\[icon\](.*)\[/icon\]]'] = trim($v['icon'])?'$1':'';
switch (intval(substr($v['flags'],1,1)))
{
case 0: $rmode = true; break;
case 1: $rmode = ($v['posts'])?true:false; break;
case 2: $rmode = false; break;
}
//$tvars['regx']['#\[if_link\](.+?)\[/if_link\]#is'] = $rmode?'$1':'';
}
if($cat_menu)
$cat_menu[count($cat_menu)-1] = $last_cat;//если есть массив - меняем последний элемент
foreach ($cat_menu as $key=>$value)
{
$tvars['vars']['cat'].=$value;
}
//выводим все сразу
$tpl -> vars('categories', $tvars);
$result .= $tpl -> show('categories');
return $result;
//$tvars['vars']['cat']
}
работает даже в svn
так у тебя релиз или ночная сборка?
Подскажите пожалуйста , в место какого кода в functions.inc.php нужно вставить быдлокод а если можно то какую и по какую строку убрать стандартный код шоб вставить быдло...:)
function generateCategoryMenu() начинается с 995 строки
в первом посте все подробно расписано
easmik, Ну ты же видишь, что только ставлю движок и дизайн переделываю и в целях безопасности скрыл генератор. Да и ладно, я уже десять раз пожалел, что не купил DLE, а поставил NG в котором нет даже элементарного функционала. И по глупости опубликовал на еще одном своем сайте рекомендательную статью для веб-мастеров о NG.
ну и купи,что мешает?,а за денюшку тебе и здесь могут все сделать.
между хеад
<script type="text/javascript">
$(function() {
$(window).scroll(function(){
var distanceTop = 1000; // Тут укажи нужное расстояние после прокрутки которого будет показано окно.
if ($(window).scrollTop() > distanceTop)
$('#news').show(500);
else
if ($(window).scrollTop() < distanceTop)
$('#news').hide(500);
});
});
</script>
в самый низ майн.тпл перед [/sitelock]
<div id="news" style="display:none;">{plugin_lastnews}</div>
в css
#news{
position:fixed;
bottom:0px;
right:0px;
width:200px;
height:50px;-webkit-box-shadow: 0px 0px 4px #000000;
-moz-box-shadow: 0px 0px 4px #000000;
box-shadow: 0px 0px 4px #000000;
background-color: #FFF5EE;
padding: 10px;
font-family: Verdana, Geneva, sans-serif;
font-size: 12pt;
color: #888888;
text-align: center;}
в плагине lastnews- в файле entries
<li><a href="{link}">{date} {title} {views}</a> [edit-news]<img src="{skins_url}/images/rewrite.gif" width="16" height="16" alt="Edit"/>[/edit-news]</li>
в файле lastnews
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<ul>{entries} </ul>
</table>
в плагине убери все лишнее ,все дивы,оставь только переменную
попробуй через ads pro
Всем привет, нужен плагин, который выводил бы лучших комментаторов на сайте. Заранее спасибо
он рабочий
Используй новость как товар - "Чорный китайский часы)"
xfields поля для общих описаний таких как производитель, материал, итд
xfields таблица для подвидов - черный ремешок - 100$; белый ремешок - 50$ итд
и тогда уже в корзину будет добавлятся поле из таблицы
таблицу можно вывести всю сразу и напротив каждой строки будет кнопка в корзину
или загнать таблицу в селект
проверено работает
рабочий пример и скрины настойки можно?
Сделайте пожалуйста рабочие "Хлебные крошки"
вставь переменную {breadcrumbs} в main.tpl перед {mainblock}
и в плагине в файле breadcrumbs.tpl отредактируй вид
ну меню делать ручками,точнее подгонять из шаблона,а на остальное есть поиск по форуму
irbees2008, это все не то robots.txt не Подходит. Нужен именно noindex и именно для облака тегов.
ну тогда только
<noindex>Текст или код, который нужно исключить из индексации</noindex>
vitaly,
Добавь пожалуйста в шаблон Админки, поддержку переменной такого вида:[if-have-admin] Текст виден только Админу [/if-have-admin]
Цель использования:
На данный момент, если Редактор или Журналист заходит в Админку у него видны ссылки Плагины, Настройки и т.д - ссылки на разделы куда доступ им запрещен.
Задача этой переменной, если ссылка(текст) заключена в эти переменные то ссылка(текст) не видна никому кроме Админа.
да это не помешает
может кто подскажет,после обновления или сбоя на сервере хостера ,пропадают все блоки,в базе они остаются,а в плагине надо заново все вбивать,это можно как нибудь исправить?
var distanceTop = 300; измени на 1000 или сколько тебе надо
извени не то написал в плагине удали все стили и дивы только переменную оставь и в css
#news{
position:fixed;
bottom:0px;
right:0px;
width:200px;
height:50px;-webkit-box-shadow: 0px 0px 4px #000000;
-moz-box-shadow: 0px 0px 4px #000000;
box-shadow: 0px 0px 4px #000000;
background-color: #FFF5EE;
padding: 10px;
font-family: Verdana, Geneva, sans-serif;
font-size: 12pt;
color: #888888;
text-align: center;}
я разобрался,цена в корзину будет падать одна,а в корзине пользователь будет выбирать на какой срок будет аренда,
а как почистить кеш твига?
письмо с заказом не приходит на почту
Когда заключаю в
какойто код он отображается ка обычный текст, ни рамки тебе, ни выделения какогото. Как ето поменять, как например сделать например http://mergin.zz.mu/uploads/images/defa … -kodov.jpgили что на подобе етого. Тоесть както визуально выделить код в
я понял что у тебя не работают BBcode. значит где то силь не прописан,или наоборот
http://ngcms.ru/forum/viewtopic.php?id=2841 почти такая проблема
irbees2008 пишет:ну у меня всегда на локалке на этом месте останавливается,просто потом открываю главную,или админку в ручную
Локалка локалке рознь.
У меня полноценный linux-сервер.
Да суть не в этом.
Там должен быть редирект а на скрине видно там точка с запятой, это просто косячок маленький.
у меня ни на одной версии редиректа не было:D
вот скрин свежей установки
NGCMS Runtime error: Class __TwigTemplate_6ad75b4affabca4904cf0cd01ebfff45 contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Twig_Template::doDisplay)
[ 1]: Class __TwigTemplate_6ad75b4affabca4904cf0cd01ebfff45 contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Twig_Template::doDisplay)
Stack trace
Line # File name
70 C:\Program Files (x86)\VertrigoServ\www\engine\cache\twig\6a\d7\5b4affabca4904cf0cd01ebfff45.php
это после обновления.доступна только админка,пробывал выключать плагины,почти все выключил заработал дефолтный шаблон,и еще парочка,а на остальных эта ошибка,только в разных файлах