Хак ShortMain 1.0 [DLE 10.2 - 10.4]
Адаптация хака под последние версии DataLife Engine, с помощью которого вы сможете вывести разные виды краткой новости на главной странице, что до этого было не возможно.
1) Сделать SQL запрос :
Если у вас другой префикс, меняем dle на свой.
2) В файле engine/modules/show.short.php НАЙТИ И УДАЛИТЬ :
3) В файле engine/modules/show.short.php НАЙТИ :
НИЖЕ ВСТАВИТЬ :
4) В файле engine/inc/categories.php НАЙТИ (2 РАЗА) :
НИЖЕ ВСТАВИТЬ (2 РАЗА) :
5) В файле engine/inc/categories.php НАЙТИ
ЗАМЕНИТЬ НА :
6) В файле engine/inc/categories.php НАЙТИ :
НИЖЕ ВСТАВИТЬ :
7) В файле engine/inc/categories.php НАЙТИ :
Заменить на :
8) В файле engine/inc/categories.php НАЙТИ :
Заменить на :
9) В файле engine/inc/categories.php НАЙТИ :
НИЖЕ ВСТАВИТЬ :
10) В файле language/Russian/adminpanel.lng Найти :
ВЫШЕ ВСТАВИТЬ :
Все! Хак установлен. Для настройки шаблона Админ панель -> Категории. (При редактировании или добавлении появится в самом низу новое поле, туда и вводить название tpl файла, для вывода на главной новости.)
1) Сделать SQL запрос :
Код
ALTER TABLE `dle_category` ADD `main_tpl` VARCHAR( 40 ) NOT NULL AFTER `full_tpl`;
Если у вас другой префикс, меняем dle на свой.
2) В файле engine/modules/show.short.php НАЙТИ И УДАЛИТЬ :
Код
if( $category_id and $cat_info[$category_id]['short_tpl'] != '' ) $tpl->load_template( $cat_info[$category_id]['short_tpl'] . '.tpl' );
else $tpl->load_template( 'shortstory.tpl' );
if( strpos( $tpl->copy_template, "[xfvalue_" ) !== false OR strpos( $tpl->copy_template, "[xfgiven_" ) !== false ) { $xfound = true; $xfields = xfieldsload();}
else $xfound = false;
if( count( $banners ) AND $config['allow_banner'] AND !$smartphone_detected) {
$news_c = 1;
if( isset( $ban_short ) ) {
for($indx = 0, $max = sizeof( $ban_short['top'] ), $banners_topz = ''; $indx < $max; $indx ++)
if( $ban_short['top'][$indx]['zakr'] ) {
$banners_topz .= $ban_short['top'][$indx]['text'];
unset( $ban_short['top'][$indx] );
}
for($indx = 0, $max = sizeof( $ban_short['cen'] ), $banners_cenz = ''; $indx < $max; $indx ++)
if( $ban_short['cen'][$indx]['zakr'] ) {
$banners_cenz .= $ban_short['cen'][$indx]['text'];
unset( $ban_short['cen'][$indx] );
}
for($indx = 0, $max = sizeof( $ban_short['down'] ), $banners_downz = ''; $indx < $max; $indx ++)
if( $ban_short['down'][$indx]['zakr'] ) {
$banners_downz .= $ban_short['down'][$indx]['text'];
unset( $ban_short['down'][$indx] );
}
$middle = floor( $config['news_number'] / 2 );
$middle_s = floor( ($middle - 1) / 2 );
$middle_e = floor( $middle + (($config['news_number'] - $middle) / 2) + 1 );
}
}
else $tpl->load_template( 'shortstory.tpl' );
if( strpos( $tpl->copy_template, "[xfvalue_" ) !== false OR strpos( $tpl->copy_template, "[xfgiven_" ) !== false ) { $xfound = true; $xfields = xfieldsload();}
else $xfound = false;
if( count( $banners ) AND $config['allow_banner'] AND !$smartphone_detected) {
$news_c = 1;
if( isset( $ban_short ) ) {
for($indx = 0, $max = sizeof( $ban_short['top'] ), $banners_topz = ''; $indx < $max; $indx ++)
if( $ban_short['top'][$indx]['zakr'] ) {
$banners_topz .= $ban_short['top'][$indx]['text'];
unset( $ban_short['top'][$indx] );
}
for($indx = 0, $max = sizeof( $ban_short['cen'] ), $banners_cenz = ''; $indx < $max; $indx ++)
if( $ban_short['cen'][$indx]['zakr'] ) {
$banners_cenz .= $ban_short['cen'][$indx]['text'];
unset( $ban_short['cen'][$indx] );
}
for($indx = 0, $max = sizeof( $ban_short['down'] ), $banners_downz = ''; $indx < $max; $indx ++)
if( $ban_short['down'][$indx]['zakr'] ) {
$banners_downz .= $ban_short['down'][$indx]['text'];
unset( $ban_short['down'][$indx] );
}
$middle = floor( $config['news_number'] / 2 );
$middle_s = floor( ($middle - 1) / 2 );
$middle_e = floor( $middle + (($config['news_number'] - $middle) / 2) + 1 );
}
}
3) В файле engine/modules/show.short.php НАЙТИ :
Код
while ( $row = $db->get_row( $sql_result ) ) {
НИЖЕ ВСТАВИТЬ :
Код
$cat_tpl = explode( ',', $row['category'] );
if($category_id and $cat_info[$category_id]['short_tpl'] != '' ) {
$tpl->load_template( $cat_info[$category_id]['short_tpl'] . '.tpl' );
} elseif( !$category_id and $cat_info[$cat_tpl[0]]['main_tpl'] != '') {
$tpl->load_template( $cat_info[$cat_tpl[0]]['main_tpl'] . '.tpl' );
} else {
$tpl->load_template( 'shortstory.tpl' );
}
if( strpos( $tpl->copy_template, "[xfvalue_" ) !== false OR strpos( $tpl->copy_template, "[xfgiven_" ) !== false ) { $xfound = true; $xfields = xfieldsload();}
else $xfound = false;
if( count( $banners ) AND $config['allow_banner'] AND !$smartphone_detected) {
$news_c = 1;
if( isset( $ban_short ) ) {
for($indx = 0, $max = sizeof( $ban_short['top'] ), $banners_topz = ''; $indx < $max; $indx ++)
if( $ban_short['top'][$indx]['zakr'] ) {
$banners_topz .= $ban_short['top'][$indx]['text'];
unset( $ban_short['top'][$indx] );
}
for($indx = 0, $max = sizeof( $ban_short['cen'] ), $banners_cenz = ''; $indx < $max; $indx ++)
if( $ban_short['cen'][$indx]['zakr'] ) {
$banners_cenz .= $ban_short['cen'][$indx]['text'];
unset( $ban_short['cen'][$indx] );
}
for($indx = 0, $max = sizeof( $ban_short['down'] ), $banners_downz = ''; $indx < $max; $indx ++)
if( $ban_short['down'][$indx]['zakr'] ) {
$banners_downz .= $ban_short['down'][$indx]['text'];
unset( $ban_short['down'][$indx] );
}
$middle = floor( $config['news_number'] / 2 );
$middle_s = floor( ($middle - 1) / 2 );
$middle_e = floor( $middle + (($config['news_number'] - $middle) / 2) + 1 );
}
}
if($category_id and $cat_info[$category_id]['short_tpl'] != '' ) {
$tpl->load_template( $cat_info[$category_id]['short_tpl'] . '.tpl' );
} elseif( !$category_id and $cat_info[$cat_tpl[0]]['main_tpl'] != '') {
$tpl->load_template( $cat_info[$cat_tpl[0]]['main_tpl'] . '.tpl' );
} else {
$tpl->load_template( 'shortstory.tpl' );
}
if( strpos( $tpl->copy_template, "[xfvalue_" ) !== false OR strpos( $tpl->copy_template, "[xfgiven_" ) !== false ) { $xfound = true; $xfields = xfieldsload();}
else $xfound = false;
if( count( $banners ) AND $config['allow_banner'] AND !$smartphone_detected) {
$news_c = 1;
if( isset( $ban_short ) ) {
for($indx = 0, $max = sizeof( $ban_short['top'] ), $banners_topz = ''; $indx < $max; $indx ++)
if( $ban_short['top'][$indx]['zakr'] ) {
$banners_topz .= $ban_short['top'][$indx]['text'];
unset( $ban_short['top'][$indx] );
}
for($indx = 0, $max = sizeof( $ban_short['cen'] ), $banners_cenz = ''; $indx < $max; $indx ++)
if( $ban_short['cen'][$indx]['zakr'] ) {
$banners_cenz .= $ban_short['cen'][$indx]['text'];
unset( $ban_short['cen'][$indx] );
}
for($indx = 0, $max = sizeof( $ban_short['down'] ), $banners_downz = ''; $indx < $max; $indx ++)
if( $ban_short['down'][$indx]['zakr'] ) {
$banners_downz .= $ban_short['down'][$indx]['text'];
unset( $ban_short['down'][$indx] );
}
$middle = floor( $config['news_number'] / 2 );
$middle_s = floor( ($middle - 1) / 2 );
$middle_e = floor( $middle + (($config['news_number'] - $middle) / 2) + 1 );
}
}
4) В файле engine/inc/categories.php НАЙТИ (2 РАЗА) :
Код
if ( $_POST['short_tpl'] ) {
$url = @parse_url ( $_POST['short_tpl'] );
$file_path = dirname (clear_url_dir($url['path']));
$tpl_name = pathinfo($url['path']);
$tpl_name = totranslit($tpl_name['basename']);
if ($file_path AND $file_path != ".") $tpl_name = $file_path."/".$tpl_name;
$short_tpl = $tpl_name;
} else $short_tpl = "";
$url = @parse_url ( $_POST['short_tpl'] );
$file_path = dirname (clear_url_dir($url['path']));
$tpl_name = pathinfo($url['path']);
$tpl_name = totranslit($tpl_name['basename']);
if ($file_path AND $file_path != ".") $tpl_name = $file_path."/".$tpl_name;
$short_tpl = $tpl_name;
} else $short_tpl = "";
НИЖЕ ВСТАВИТЬ (2 РАЗА) :
Код
if ( $_POST['main_tpl'] ) {
$url = @parse_url ( $_POST['main_tpl'] );
$file_path = dirname (clear_url_dir($url['path']));
$tpl_name = pathinfo($url['path']);
$tpl_name = totranslit($tpl_name['basename']);
if ($file_path AND $file_path != ".") $tpl_name = $file_path."/".$tpl_name;
$main_tpl = $tpl_name;
} else $main_tpl = "";
$url = @parse_url ( $_POST['main_tpl'] );
$file_path = dirname (clear_url_dir($url['path']));
$tpl_name = pathinfo($url['path']);
$tpl_name = totranslit($tpl_name['basename']);
if ($file_path AND $file_path != ".") $tpl_name = $file_path."/".$tpl_name;
$main_tpl = $tpl_name;
} else $main_tpl = "";
5) В файле engine/inc/categories.php НАЙТИ
Код
full_tpl='$full_tpl'
ЗАМЕНИТЬ НА :
Код
full_tpl='$full_tpl', main_tpl='$main_tpl'
6) В файле engine/inc/categories.php НАЙТИ :
Код
<div class="form-group">
<label class="control-label col-lg-2">{$lang['cat_f_tpl']}</label>
<div class="col-lg-10">
<input style="width:100%;max-width:200px;" type="text" name="full_tpl">.tpl <span class="help-button" data-rel="popover" data-trigger="hover" data-placement="right" data-content="{$lang['cat_f_tpl_hit']}" >?</span>
</div>
</div>
<label class="control-label col-lg-2">{$lang['cat_f_tpl']}</label>
<div class="col-lg-10">
<input style="width:100%;max-width:200px;" type="text" name="full_tpl">.tpl <span class="help-button" data-rel="popover" data-trigger="hover" data-placement="right" data-content="{$lang['cat_f_tpl_hit']}" >?</span>
</div>
</div>
НИЖЕ ВСТАВИТЬ :
Код
<div class="form-group">
<label class="control-label col-lg-2">{$lang['cat_m_tpl']}</label>
<div class="col-lg-10">
<input style="width:100%;max-width:200px;" type="text" name="main_tpl">.tpl <span class="help-button" data-rel="popover" data-trigger="hover" data-placement="right" data-content="{$lang[cat_m_tpl_hit]}" >?</span>
</div>
</div>
<label class="control-label col-lg-2">{$lang['cat_m_tpl']}</label>
<div class="col-lg-10">
<input style="width:100%;max-width:200px;" type="text" name="main_tpl">.tpl <span class="help-button" data-rel="popover" data-trigger="hover" data-placement="right" data-content="{$lang[cat_m_tpl_hit]}" >?</span>
</div>
</div>
7) В файле engine/inc/categories.php НАЙТИ :
Код
short_tpl, full_tpl
Заменить на :
Код
short_tpl, full_tpl, main_tpl
8) В файле engine/inc/categories.php НАЙТИ :
Код
'$short_tpl', '$full_tpl'
Заменить на :
Код
'$short_tpl', '$full_tpl', '$main_tpl'
9) В файле engine/inc/categories.php НАЙТИ :
Код
<div class="form-group">
<label class="control-label col-lg-2">{$lang['cat_f_tpl']}</label>
<div class="col-lg-10">
<input style="width:100%;max-width:200px;" type="text" name="full_tpl" value="{$row['full_tpl']}">.tpl <span class="help-button" data-rel="popover" data-trigger="hover" data-placement="right" data-content="{$lang['cat_f_tpl_hit']}" >?</span>
</div>
</div>
<label class="control-label col-lg-2">{$lang['cat_f_tpl']}</label>
<div class="col-lg-10">
<input style="width:100%;max-width:200px;" type="text" name="full_tpl" value="{$row['full_tpl']}">.tpl <span class="help-button" data-rel="popover" data-trigger="hover" data-placement="right" data-content="{$lang['cat_f_tpl_hit']}" >?</span>
</div>
</div>
НИЖЕ ВСТАВИТЬ :
Код
<div class="form-group">
<label class="control-label col-lg-2">{$lang['cat_m_tpl']}</label>
<div class="col-lg-10">
<input style="width:100%;max-width:200px;" type="text" name="main_tpl" value="{$row['main_tpl']}">.tpl <span class="help-button" data-rel="popover" data-trigger="hover" data-placement="right" data-content="{$lang[cat_m_tpl_hit]}" >?</span>
</div>
</div>
<label class="control-label col-lg-2">{$lang['cat_m_tpl']}</label>
<div class="col-lg-10">
<input style="width:100%;max-width:200px;" type="text" name="main_tpl" value="{$row['main_tpl']}">.tpl <span class="help-button" data-rel="popover" data-trigger="hover" data-placement="right" data-content="{$lang[cat_m_tpl_hit]}" >?</span>
</div>
</div>
10) В файле language/Russian/adminpanel.lng Найти :
Код
'cat_f_tpl' => "Шаблон полной новости",
ВЫШЕ ВСТАВИТЬ :
Код
'cat_m_tpl' => "Шаблон короткой новости на главной",
'cat_m_tpl_hit' => "Помимо назначения отдельного шаблона для данной категории, вы можете указать только отдельный файл шаблона для вывода кратких новостей на главной. Вы можете оставить это поле пустым, тогда будет загружаться стандартный файл шаблона <b>shortstory.tpl</b>",
'cat_m_tpl_hit' => "Помимо назначения отдельного шаблона для данной категории, вы можете указать только отдельный файл шаблона для вывода кратких новостей на главной. Вы можете оставить это поле пустым, тогда будет загружаться стандартный файл шаблона <b>shortstory.tpl</b>",
Все! Хак установлен. Для настройки шаблона Админ панель -> Категории. (При редактировании или добавлении появится в самом низу новое поле, туда и вводить название tpl файла, для вывода на главной новости.)
Похожие статьи
Всего комментариев: 0 | |