Мелкие доработки/исправления для версии 055

  • 7 Ответов
  • 1211 Просмотров

White Mouse

  • Сообщений: 12
    • Просмотр профиля
    • TRAVEL.wmouse.ru — поездки, путешествия, автопрогулки
Здесь будут мелкие доработки/исправления для версии 055, когда для достижения желаемого результата нужно буквально подправить пару знаков... ну или пару-другую строк кода. :)
« Последнее редактирование: 28 Марта 2016, 23:04:07 от White Mouse »
А кофе на клавиатуру тоже вирус пролил?

White Mouse

  • Сообщений: 12
    • Просмотр профиля
    • TRAVEL.wmouse.ru — поездки, путешествия, автопрогулки
Как убрать хинты у пунктов меню
« Ответ #1 : 28 Марта 2016, 14:13:59 »
Если не хотите, чтобы при подведении курсора к пунктам меню всплывали подсказки.

Смотрим файл base/danneo.function.php, /*** menu */

В строках
 $lv = $nv['before'].'<a '.((!empty($nv['css'])) ? 'class="'.$nv['css'].'" ' : '').'href="'.str_replace("&","&amp;",$nv['link']).'"'.((!empty($nv['target'])) ? ' target="'.$nv['target'].'"' : '').' title="'.$nv['title'].'">'.$nv['title'].'</a>'.$nv['after'];

$ls = $sv['before'].'<a '.((!empty($sv['css'])) ? 'class="'.$sv['css'].'" ' : '').'href="'.str_replace("&","&amp;",$sv['link']).'"'.((!empty($sv['target'])) ? ' target="'.$sv['target'].'"' : '').' title="'.$sv['title'].'">'.$sv['title'].'</a>'.$sv['after'];
убрать  title="'.$sv['title'].'
А кофе на клавиатуру тоже вирус пролил?

White Mouse

  • Сообщений: 12
    • Просмотр профиля
    • TRAVEL.wmouse.ru — поездки, путешествия, автопрогулки
Если хотите, чтобы при просмотре полной новости/статьи/файла/фотографии и т.д. выводилась только дата добавления, без времени.

Файл mod/news/index.php (mod/article/index.php и т.д.)  /** * Метка art * -------------------- */   /*** Вывод   */
В строчке
 'time'       => $api->sitetime($item['public'], 1, 1),
1, 1 исправить на 0, 0
А кофе на клавиатуру тоже вирус пролил?

White Mouse

  • Сообщений: 12
    • Просмотр профиля
    • TRAVEL.wmouse.ru — поездки, путешествия, автопрогулки
Если вы используете breadcrumbs («хлебные крошки») и хотите убрать из них названия модов «статьи», «файлы» и т.д., чтобы избежать вида строки, к примеру:
«Статьи – Справочник – Телефоны образовательных учреждений».

Файл base/danneo.initapi.php, ищем function sitecat($id)

строку
$return = '<a href="'.$setting['site_url'].'/index.php?dn='.WORKMOD.'">'.$siteglobal['modname'].'</a>';
заменить на 
$return = '';

Тогда в нижеследующей строке
$return.= ' &raquo; <a href="'.$setting['site_url'].'/index.php?dn='.WORKMOD.'&amp;to=cat&amp;id='.$incat['catid'].$cpu.'" 
title="'.$this->sitedp($title).'">'.$title.'</a>';
лучше убрать &raquo;, чтобы не торчала спереди строки...

В этом случае «крошки» будут выглядеть так: «Справочник – Телефоны образовательных учреждений»

Либо есть ещё вариант:
Строчку заменить на
$return = '<a href="/">Главная</a>';
Тогда получите строку вида: «Главная – Справочник – Телефоны образовательных учреждений»
А кофе на клавиатуру тоже вирус пролил?

White Mouse

  • Сообщений: 12
    • Просмотр профиля
    • TRAVEL.wmouse.ru — поездки, путешествия, автопрогулки
Чтобы при регистрации или при отправке сообщений через почтовую форму пользователи могли в своих именах использовать пробелы.

base\danneo.function.php, /*** verify_name */
В строке
return (preparse($name,THIS_STRLEN) < $setting['minname'] || preparse($name,THIS_STRLEN) > $setting['maxname'] || !preg_match('/^[a-zA-Zа-яёА-ЯЁ0-9]+$/D',$name)) ? 0 : 1;
после 0-9 добавить пробел.

А также base\userbase\danneo\danneo.user.php и base/userbase/empty.user.php  ищем function checklogin($login)
аналогично – заменить строку на
return (preparse($login,THIS_STRLEN) < $setting['minname'] || preparse($login,THIS_STRLEN) > $setting['maxname'] || !preg_match('/^[a-zA-Zа-яёА-ЯЁ0-9 ]+$/D',$login)) ? 0 : 1;

***

Если возникает проблема с кириллицей в имени пользователя в UTF-версии, то к этим строчкам дописать после $/D букву u
return (preparse($login,THIS_STRLEN) < $setting['minname'] || preparse($login,THIS_STRLEN) > $setting['maxname'] || !preg_match('/^[a-zA-Zа-яёА-ЯЁ0-9 ]+$/Du',$login)) ? 0 : 1; 

Не забудьте отредактировать в настройках минимальное и максимальное количество символов в имени и сообщения об ошибках (языковой браузер – Система контакты, Система ошибки)
« Последнее редактирование: 28 Марта 2016, 15:43:56 от White Mouse »
А кофе на клавиатуру тоже вирус пролил?

White Mouse

  • Сообщений: 12
    • Просмотр профиля
    • TRAVEL.wmouse.ru — поездки, путешествия, автопрогулки
Как убрать ссылку «прочесть»
« Ответ #5 : 28 Марта 2016, 15:43:16 »
Как убрать ссылку «прочесть» после краткой новости (или статьи), если нет полного текста новости (статьи).

Краткий и полный текст отображаются переменными textshort и textmore, соответственно...

На примере новостей:
news/index.php
Начинаем прямо с метки index
$inq = $db->query("SELECT newsid,catid,public,cpu,title,textshort,image_thumb,image_align,image_alt,comments,hits,tags 
Вписываем переменную textmore:
$inq = $db->query("SELECT newsid,catid,public,cpu,title,textshort,textmore,image_thumb,image_align,image_alt,comments,hits,tags 

Далее
$ins['title'] = '<a href="'.$setting['site_url'].'/index.php?dn='.WORKMOD.'&amp;to=art&amp;id='.$news['newsid'].$ins['cpu'].'">'.$api->siteuni($news['title']).'</a>';  
$ins['link']  = '<a class="read" href="'.$setting['site_url'].'/index.php?dn='.WORKMOD.'&amp;to=art&amp;id='.$news['newsid'].$ins['cpu'].'">'.$lang['home_last_news_read'].'</a>';
заменить на
if ($news['textshort'] && $news['textmore']){
$ins['title'] = '<a href="'.$setting['site_url'].'/index.php?dn='.WORKMOD.'&amp;to=art&amp;id='.$news['newsid'].$ins['cpu'].'">'.$api->siteuni($news['title']).'</a>'; 
            $ins['link']  = '<a class="read" href="'.$setting['site_url'].'/index.php?dn='.WORKMOD.'&amp;to=art&amp;id='.$news['newsid'].$ins['cpu'].'">'.$lang['home_last_news_read'].'</a>';
}
elseif ($news['textshort']) {
$ins['link'] = '';
$ins['title'] = $api->siteuni($news['title']);
}
Так мы убрали не только ссылку «прочесть» в конце, но и ссылку из заголовка новости.

Теперь то же самое делаем для метки cat. Ищем вывод  /*** Новости    */
Добавляем в эту строку переменную textmore
$inq = $db->query("SELECT newsid,catid,public,cpu,title,textshort,image_thumb,image_align,image_alt,comments,hits,tags FROM ".$basepref."_news 
строки
$ins['title']  = '<a href="'.$setting['site_url'].'/index.php?dn='.WORKMOD.'&amp;to=art&amp;id='.$news['newsid'].$ins['cpu'].'">'.$api->siteuni($news['title']).'</a>';  
            $ins['link']   = '<a class="read" href="'.$setting['site_url'].'/index.php?dn='.WORKMOD.'&amp;to=art&amp;id='.$news['newsid'].$ins['cpu'].'">'.$lang['home_last_news_read'].'</a>';
меняем на
if ($news['textshort'] && $news['textmore']){
            $ins['title']  = '<a href="'.$setting['site_url'].'/index.php?dn='.WORKMOD.'&amp;to=art&amp;id='.$news['newsid'].$ins['cpu'].'">'.$api->siteuni($news['title']).'</a>'; 
            $ins['link']   = '<a class="read" href="'.$setting['site_url'].'/index.php?dn='.WORKMOD.'&amp;to=art&amp;id='.$news['newsid'].$ins['cpu'].'">'.$lang['home_last_news_read'].'</a>';
}
elseif ($news['textshort']) {
$ins['link'] = '';
$ins['title'] = $api->siteuni($news['title']);
}
А кофе на клавиатуру тоже вирус пролил?

White Mouse

  • Сообщений: 12
    • Просмотр профиля
    • TRAVEL.wmouse.ru — поездки, путешествия, автопрогулки
Как вывести alt под картинкой в новостях
« Ответ #6 : 28 Марта 2016, 16:16:24 »
Кому-нибудь может понадобиться в полном тексте новости или статьи вывести alt-тег картинки как подпись под ней.

Для версии 053:
В mySQL таблице переменная называется image_alt
В коде страницы – $item['image_alt']

На примере файла /article/index.php
Ищем
if($item['image_thumb'] && $item['image']){ 
 $img = "<img src=\"".$item['image_thumb']."\" alt=\"".$item['image_alt']."\" />";
 $ins['image'] = "<div class=\"thumb $insfloat\"><a href=\"javascript:DN.scrollwindows('".$setting['site_url']."','index.php?dn=".WORKMOD."&amp;to=image&amp;id=".$item['artid']."')\">".$img."</a></div>";
} elseif($item['image_thumb']){
 $img = "<img src=\"".$item['image_thumb']."\" alt=\"".$item['image_alt']."\" />";
 $ins['image'] = "<div class=\"thumb $insfloat\">".$img."</div>";
Заменяем на
if($item['image_thumb'] && $item['image']){
 $img = "<img src=\"".$item['image_thumb']."\" alt=\"\" /> <br><div class="ваш стиль">".$item['image_alt']."</div> ";
 $ins['image'] = "<div class=\"thumb $insfloat\"><a href=\"javascript:DN.scrollwindows('".$setting['site_url']."','index.php?dn=".WORKMOD."&amp;to=image&amp;id=".$item['artid']."')\">".$img."</a></div>";
} elseif($item['image_thumb']){
 $img = "<img src=\"".$item['image_thumb']."\" alt=\"\" /> <br><div class="ваш стиль">".$item['image_alt']."</div> ";
 $ins['image'] = "<div class=\"thumb $insfloat\">".$img."</div>";
}
(в этом случае при наличии большой картинки текст будет еще и ссылкой)

Для версии 055:

Переменная в коде страницы называется $v['alt']
Файл /article/index.php, метка /*** art  */   /*** Изображения по тексту   */

Ищем
 $thumb = '<img src="'.$setting['site_url'].'/'.$v['thumb'].'" alt="'.$v['alt'].'" />';
 $image = ($v['image']) ? '<a rel="article" class="media-view" href="'.$setting['site_url'].'/'.$v['image'].'">'.$thumb.'</a>' : $thumb;
Заменяем на
$thumb = '<img src="'.$setting['site_url'].'/'.$v['thumb'].'" alt="'.$v['alt'].'" />';
if ($v['alt']) {
$image = ($v['image']) ? '<a rel="article" class="media-view" href="'.$setting['site_url'].'/'.$v['image'].'">'.$thumb.'</a><div class="ваш стиль">'.$v['alt'].'</div>' : $thumb.'<div class="ваш стиль">'.$v['alt'].'</div>';
} else {
$image = ($v['image']) ? '<a rel="article" class="media-view" href="'.$setting['site_url'].'/'.$v['image'].'">'.$thumb.'</a>' : $thumb;
}
А кофе на клавиатуру тоже вирус пролил?

White Mouse

  • Сообщений: 12
    • Просмотр профиля
    • TRAVEL.wmouse.ru — поездки, путешествия, автопрогулки
Чтобы календарь листался не только назад, но и вперёд (для анонсов мероприятий, к примеру)

Base/danneo.calendar.php 
Закомментировать условие :
 #if (($this->y <= NEWYEAR && $nextm <= NEWMONT) || $this->y < NEWYEAR) {
    $calendar.= '<a class="calendarlink" href="'.$setting['site_url'].'/index.php?dn='.$mod.'&amp;to=dat&amp;ye='.$nexty.'&amp;mo='.$nextm.'&amp;da=0">»</a>';
     #}
Остаётся только
$calendar.= '<a class="calendarlink" href="'.$setting['site_url'].'/index.php?dn='.$mod.'&amp;to=dat&amp;ye='.$nexty.'&amp;mo='.$nextm.'&amp;da=0">»</a>';
А кофе на клавиатуру тоже вирус пролил?