Отвечу на ваши вопросы по DLE

seosniks
На сайте с 13.08.2007
Offline
389
#341
siv1987:
SELECT * FROM " . PREFIX . "_category ORDER BY posi ASC


заменить на
SELECT * FROM " . PREFIX . "_category WHERE alt_name IN ('home', '%cat_alt_name1%', '%cat_alt_name2%') ORDER BY posi ASC


%cat_alt_name% - название категории из урла ( home и тд )

А как сделать чтоб типа так было

SELECT * FROM " . PREFIX . "_category WHERE alt_name IN ('home', '1,6,9,12') ORDER BY posi ASC

ТОесть выбрать категории 1,6,9,12

siv1987
На сайте с 02.04.2009
Offline
427
#342

SELECT * FROM " . PREFIX . "_category WHERE id IN ( 1, 6, 9, 12 ) ORDER BY posi ASC

seosniks
На сайте с 13.08.2007
Offline
389
#343
siv1987:
SELECT * FROM " . PREFIX . "_category WHERE id IN ( 1, 6, 9, 12 ) ORDER BY posi ASC

siv1987, Может я не так делаю что нибудь, не хочет работать.


if( ! $cat_info ) {
$cat_info = array ();

$db->query( "SELECT * FROM " . PREFIX . "_category WHERE id IN ( 1) ORDER BY posi ASC" );
while ( $row = $db->get_row() ) {

$cat_info[$row['id']] = array ();

foreach ( $row as $key => $value ) {
$cat_info[$row['id']][$key] = $value;
}

}
set_vars( "category", $cat_info );
$db->free();
}
//################# Определение групп пользователей
$user_group = get_vars( "usergroup" );

if( ! $user_group ) {
$user_group = array ();

$db->query( "SELECT * FROM " . USERPREFIX . "_usergroups ORDER BY id ASC" );

while ( $row = $db->get_row() ) {

$user_group[$row['id']] = array ();

foreach ( $row as $key => $value ) {
$user_group[$row['id']][$key] = $value;
}
siv1987
На сайте с 02.04.2009
Offline
427
#344

$cat_info = get_vars( "category" );


if( ! $cat_info ) {

$cat_info берется из кэша, и если только кэш пустой делается запрос в бд. Потом из полученных данных снова перезаписывается кэш категории. Тут могут быть проблемы с кэшем если он еще где-то будет использоваться - не будут все категории и тд.

Можно

этот код


$cat_info = get_vars( "category" );

if( ! $cat_info ) {
$cat_info = array ();

$db->query( "SELECT * FROM " . PREFIX . "_category ORDER BY posi ASC" );
while ( $row = $db->get_row() ) {

$cat_info[$row['id']] = array ();

foreach ( $row as $key => $value ) {
$cat_info[$row['id']][$key] = $value;
}

}
set_vars( "category", $cat_info );
$db->free();
}

Заменить на


//кэш рсс
$cat_info = get_vars( 'category_rss' );

if( ! $cat_info ) {
$cat_info = array ();

$db->query( "SELECT * FROM " . PREFIX . "_category WHERE id IN ( 1) ORDER BY posi ASC" );
while ( $row = $db->get_row() ) {

$cat_info[$row['id']] = array ();

foreach ( $row as $key => $value ) {
$cat_info[$row['id']][$key] = $value;
}

}
//кэш рсс
set_vars( "category_rss", $cat_info );
$db->free();
}
mfl
На сайте с 16.10.2006
Offline
134
mfl
#345

seosniks, почему WHERE id IN ( 1), если Вам необходимы категории 1,6,9,12 ?

Если нужны данные из категории с id 1, то все верно. Очистите кеш в движке, проверьте. Если данные не выводятся, в phpmyadmin выполните:

SELECT *

FROM dle_category

WHERE id

IN ( 1 )

ORDER BY posi ASC

посмотрите, какие данные выводятся.

seosniks
На сайте с 13.08.2007
Offline
389
#346
mfl:
seosniks, почему WHERE id IN ( 1), если Вам необходимы категории 1,6,9,12 ?

Если нужны данные из категории с id 1, то все верно. Очистите кеш в движке, проверьте. Если данные не выводятся, в phpmyadmin выполните:

SELECT *
FROM dle_category
WHERE id
IN ( 1 )
ORDER BY posi ASC

посмотрите, какие данные выводятся.

1 для примера указан.

дело в том что у меня вленте етсь новости где нет текста, тоетсь без превью, вот я хочу эти категории убрать из вывода в ленту.

Можно конечно добавить условие if перед выводом в браузер, и если поле превьющки пустое то не выводить вообще.

но хотел просто взять нужные категории.

M
На сайте с 18.12.2011
Offline
0
#347

Проблема такова. Обновился с DLE 9.0 на 9.4. Но, на всякий случай, 9.0 оставил на поддомене.

При добавлении новостей с 9.4 в доп. полях указываю ссылки вида [ur l=http://site.ru/tags/%C4%FD%ED%ED%E8+%CB%E5%F0%ED%E5%F0/]Дэнни Лернер[ /url]. Но, при отправке новости, подобные ссылки в виде бб-кодов не преобразуются в привычные ссылки, т.е. в новости так и выводится:

Если зайти в админку DLE 9.0, которая осталась на поддомене, то при пересохранении новости бб-коды нормально конвертируются в обычные ссылки.

В чём может быть проблема?

P.S. В 9.4 бб-коды не конвертируются только в доп. полях. В полной и краткой новостях всё нормально.

mfl
На сайте с 16.10.2006
Offline
134
mfl
#348

seosniks, так а какие категории выводятся в ленте?

WHERE id IN ( 1)

другие категории кроме id 1 или вообще ничего не выводится?

seosniks
На сайте с 13.08.2007
Offline
389
#349
megasend:
Проблема такова. Обновился с DLE 9.0 на 9.4. Но, на всякий случай,

Если зайти в админку DLE 9.0, которая осталась на поддомене, то при пересохранении новости бб-коды нормально конвертируются в обычные ссылки.

В чём может быть проблема?

P.S. В 9.4 бб-коды не конвертируются только в доп. полях. В полной и краткой новостях всё нормально.

Попробуйте напишите ссылки в таком виде <a href=>ancor</a>

---------- Добавлено в 16:28 ---------- Предыдущее сообщение было в 16:27 ----------

mfl:
seosniks, так а какие категории выводятся в ленте?
WHERE id IN ( 1)
другие категории кроме id 1 или вообще ничего не выводится?

мне надо в RSS вывести конкретные категории, например 1,4,9

M
На сайте с 18.12.2011
Offline
0
#350
seosniks:
Попробуйте напишите ссылки в таком виде <a href=>ancor</a>

Ссылка обработалась, в новости просто "ancor".

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий