sashka_

sashka_
Рейтинг
103
Регистрация
27.01.2010

Необходимо было отрисовать пару элементов по дизайну и сверстать их. Обратился к ТС и вопрос был решен в течении дня. Спасибо.

Attyla:
sashka_, сделал так, как вы написали, а как проверить, что данные читаются из кэша а не из бд? Это возможно как-то отследить? Количество запросов не уменьшается, если запустить модуль дважды подряд с одинаковыми параметрами. Если я правильно понял, то он создает, но не читает кэш. Как быть?

можно вывод на экран сделать, когда работает без кеша


$tpl->result['content'] = false;
$tpl->result['content'] = dle_cache( md5( $sql_request ) );

if( !$tpl->result['content'] ) {
echo "Кеш не сработал";
$sql_result = $db->query( $sql_request );
$found_result = $db->num_rows( $sql_result );
$result_count = $db->super_query( "SELECT COUNT(*) as count $sql_from $where" );
$count_result = $result_count['count'];

$tpl->load_template( '/personaj.tpl' );
$build_navigation = false;
include (ENGINE_DIR . '/modules/show.custom.php');

$tpl->result['content'] = str_ireplace( '[personaj]', '', $tpl->result['content'] );
$tpl->result['content'] = str_ireplace( '[/personaj]', '', $tpl->result['content'] );
if( $config['files_allow'] )
if( strpos( $tpl->result['content'], "[attachment=" ) !== false ) {
$tpl->result['content'] = show_attach( $tpl->result['content'], $attachments );
}

if( $tpl->result['content'] )
create_cache( md5( $sql_request ) , $tpl->result['content'] );

}
Attyla:
Как реализовать кэширование в модуле, если в модуле такие строки:

$sql_result = $db->query( $sql_request );

$found_result = $db->num_rows( $sql_result );
$result_count = $db->super_query( "SELECT COUNT(*) as count $sql_from $where" );
$count_result = $result_count['count'];

$tpl->load_template( '/personaj.tpl' );
$build_navigation = false;
include (ENGINE_DIR . '/modules/show.custom.php');

$tpl->result['content'] = str_ireplace( '[personaj]', '', $tpl->result['content'] );
$tpl->result['content'] = str_ireplace( '[/personaj]', '', $tpl->result['content'] );
if( $config['files_allow'] )
if( strpos( $tpl->result['content'], "[attachment=" ) !== false ) {
$tpl->result['content'] = show_attach( $tpl->result['content'], $attachments );
}


Я так понял выборка из бд передается в show.custom.php, чтобы был наложен шаблон на все строки выборки. А как сделать так, чтобы модуль создавал кэш в данном случае?
Спасибо.

<?
$tpl->result['content'] = false;
$tpl->result['content'] = dle_cache( md5( $sql_request ) );

if( !$tpl->result['content'] ) {

$sql_result = $db->query( $sql_request );
$found_result = $db->num_rows( $sql_result );
$result_count = $db->super_query( "SELECT COUNT(*) as count $sql_from $where" );
$count_result = $result_count['count'];

$tpl->load_template( '/personaj.tpl' );
$build_navigation = false;
include (ENGINE_DIR . '/modules/show.custom.php');

$tpl->result['content'] = str_ireplace( '[personaj]', '', $tpl->result['content'] );
$tpl->result['content'] = str_ireplace( '[/personaj]', '', $tpl->result['content'] );
if( $config['files_allow'] )
if( strpos( $tpl->result['content'], "[attachment=" ) !== false ) {
$tpl->result['content'] = show_attach( $tpl->result['content'], $attachments );
}

if( $tpl->result['content'] )
create_cache( md5( $sql_request ) , $tpl->result['content'] );

}

Вот так попробуй

echo $wpdb->insert_id;

так пробуй.

в файле /engine/modules/sitelogin.php

найти

$_IP = get_ip();

ниже прописать

if (!empty($_SERVER['HTTP_CLIENT_IP']))
$_IP = $_SERVER['HTTP_CLIENT_IP'];
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
$_IP = $_SERVER['HTTP_X_FORWARDED_FOR'];
else
$_IP = $_SERVER['REMOTE_ADDR'];

вместо foreach, наверное надо for использовать.

или надо смотреть класс, потому что пишет нету такой функции.

Это уже надо смотреть изнутри, темболее 10.2, они там много нового сделали.

в чём может быть дело?

вы имеете введу, насчёт авторизации или рейтинга?

Если рейтинга, можно попробовать заменить файл /ajax/rating.php

и все js файлы в папке /engine/classes/js/

И потом проверить в ручную грузятся ли они.

А насчёт авторизации может быть много проблем, браузер ( опера бывает тупит )

Может у вас в настройках, стоит авторизация по мэилу и т.д

Ещё может вы файлы обновили, а бд нет.

mr.Temkin:
Здравствуйте.

Оценивание новостей зависает -- появляется сообщение "Загрузка. Пожалуйста, подождите..." и ничего не происходит. В чём может быть причина?

Ошибка в php or javascript

Здравствуйте, если я буду покупать ссылки на длительный срок, скидки будут?

Всего: 496