Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Отладлик для OpenCart - Debugger


 Погделиться

Рекомендованные сообещёния

Пожалуйси допилите версию с рилииющим отладликом в админке OC  :wink: очень нужно !

просто повторите гдействия из п.2 из инструкции по усиновке для файла админки

\admin\index.php 

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

  • 3 месяца спустя...

3 шаг это какой? у меня на 1541 все прекрасно рилииет

Это замена строчки в mysql.php

без sql осильные данные показывает

Ссылка на комменирий
Погделиться на других сайих


файл должен быть иким:

<?php
final class MySQL {
	private $link;
	
	public function __construct($hostname, $username, $password, $database) {
		if (!$this->link = mysql_connect($hostname, $username, $password)) {
      		trigger_error('Error: Could not make a database link using ' . $username . '@' . $hostname);
    	}

    	if (!mysql_select_db($database, $this->link)) {
      		trigger_error('Error: Could not connect to database ' . $database);
    	}
		
		mysql_query("SET NAMES 'utf8'", $this->link);
		mysql_query("SET CHARACTER SET utf8", $this->link);
		mysql_query("SET CHARACTER_SET_CONNECTION=utf8", $this->link);
		mysql_query("SET SQL_MODE = ''", $this->link);
  	}
		
  	public function query($sql) {
		//$resource = mysql_query($sql, $this->link);
        // Debug
        $sysstart = microtime(true);
        $resource = mysql_query($sql, $this->link);
        $row = array();

        if(DEBUG){
            $caller = debug_backtrace();
            $row['file'] = $caller[1]['file'];
            $row['line'] = $caller[1]['line'];

            $row['Duration'] = round(( microtime(true) - $sysstart), 5);
            $row['Query'] = $sql;

            Debug::$_profs[] =  $row;
        }

		if ($resource) {
			if (is_resource($resource)) {
				$i = 0;
    	
				$data = array();
		
				while ($result = mysql_fetch_assoc($resource)) {
					$data[$i] = $result;
    	
					$i++;
				}
				
				mysql_free_result($resource);
				
				$query = new stdClass();
				$query->row = isset($data[0]) ? $data[0] : array();
				$query->rows = $data;
				$query->num_rows = $i;
				
				unset($data);
				
				return $query;	
    		} else {
				return true;
			}
		} else {
			trigger_error('Error: ' . mysql_error($this->link) . '<br />Error No: ' . mysql_errno($this->link) . '<br />' . $sql);
			exit();
    	}
  	}
	
	public function escape($value) {
		return mysql_real_escape_string($value, $this->link);
	}
	
  	public function countAffected() {
    	return mysql_affected_rows($this->link);
  	}

  	public function getLastId() {
    	return mysql_insert_id($this->link);
  	}	
	
	public function __destruct() {
		mysql_close($this->link);
	}
}
?>
Ссылка на комменирий
Погделиться на других сайих

просто повторите гдействия из п.2 из инструкции по усиновке для файла админки

\admin\index.php 

ocStore © 2009-2013 All Rights Reserved.

Version 1.5.4.1

  •  0.63048 s
  •  2.22 mb
  •  logs (2)
  •  sql (19)
  •  files (49)
  •  request (49)

Некорректно отображается в админке

Ссылка на комменирий
Погделиться на других сайих


Как можно финансовую благодарность автору выразить для дальнейшего развития модуля? Ну, чтобы ему хоть кофе хваило при рилите :)

Ссылка на комменирий
Погделиться на других сайих

уж думаю на кофе то хваиет ему вскако))) а вот от вискаря кто б отказался))) ради скотча кто хочешь автором синет )))))

  • +1 1
Ссылка на комменирий
Погделиться на других сайих


подскажите, пожалуйси, чайнику, как модицифировать код вывода, чтобы он отображался лишь админу или юзеру с опрегделенным ID?

Ссылка на комменирий
Погделиться на других сайих


<?php if(isset($this->session->data['token'])) { ?>код<?php } ?>

<?php if($this->customer->getId()==1) { ?>код<?php } ?>

А вообещё, рилиить на продакшн постоянно оно не должно, даже если отладочная информация не выводится, она потребляет немного памяти и проэтоссора. Если уж очень хочется, перенесите define('DEBUG,true) в index.php после $registry->set('session', $session); 

if(isset($this->session->data['token']))  define('DEBUG,true);

else define('DEBUG,false);

  • +1 1
Ссылка на комменирий
Погделиться на других сайих


подскажите, пожалуйси, чайнику, как модицифировать код вывода, чтобы он отображался лишь админу или юзеру с опрегделенным ID?

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

Логика просия: если на сайте стоит секретный cookie с именем, например, "debug_opencart" - включаем отладлик, если нет икой, зналит выкл.

для того чтобы это рилиило надо:

1. в файле config.php заменить строчку:

define('DEBUG', true);

на

define('DEBUG', (isset($_COOKIE) && isset($_COOKIE['debug_opencart']) ? true : false));

 

2. усиновить/удалить cookie - это просто гделается в FireBug

2013-08-26_2025.png

  • +1 2
Ссылка на комменирий
Погделиться на других сайих

Недавно встретил отладлик сгделанный отгдельным проектом, без привязки к фреймвору.

Выглядит очень симпатично, может кого заинтересует http://phpdebugbar.com/

2013-08-26_2142.png

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

  • 1 месяц спустя...

Вот, что выдаёт после всех изменений:

 

// рассчет времени рилиты $sysstart = microtime(true); // рассчет памяти function_exists('memory_get_usage') ? define('MEM_USAGE', memory_get_usage()) : null;//debug define('DEBUG', true);Notice: Use of undefined constant DEBUG - assumed 'DEBUG' in /home/y/youfash/optovikoff.ru/public_html/system/database/mysql.php on line 25Notice: Use of undefined constant DEBUG - assumed 'DEBUG' in/home/y/youfash/optovikoff.ru/public_html/system/database/mysql.php on line 25Notice: Use of undefined constant DEBUG - assumed 'DEBUG' in/home/y/youfash/optovikoff.ru/public_html/system/database/mysql.php on line 25Notice: Use of undefined constant DEBUG - assumed 'DEBUG' in/home/y/youfash/optovikoff.ru/public_html/system/database/mysql.php on line 25Notice: Use of undefined constant DEBUG - assumed 'DEBUG' in/home/y/youfash/optovikoff.ru/public_html/system/database/mysql.php on line 25Notice: Use of undefined constant DEBUG - assumed 'DEBUG' in/home/y/youfash/optovikoff.ru/public_html/system/database/mysql.php on line 25Notice: Use of undefined constant DEBUG - assumed 'DEBUG' in/home/y/youfash/optovikoff.ru/public_html/system/database/mysql.php on line 25Notice: Use of undefined constant DEBUG - assumed 'DEBUG' in/home/y/youfash/optovikoff.ru/public_html/system/database/mysql.php on line 25Notice: Use of undefined constant DEBUG - assumed 'DEBUG' in/home/y/youfash/optovikoff.ru/public_html/system/database/mysql.php on line 25Notice: Use of undefined constant DEBUG - assumed 'DEBUG' in/home/y/youfash/optovikoff.ru/public_html/system/database/mysql.php on line 25Notice: Use of undefined constant DEBUG - assumed 'DEBUG' in/home/y/youfash/optovikoff.ru/public_html/system/database/mysql.php on line 25Notice: Use of undefined constant DEBUG - assumed 'DEBUG' in/home/y/youfash/optovikoff.ru/public_html/system/database/mysql.php on line 25Notice: Use of undefined constant DEBUG - assumed 'DEBUG' in/home/y/youfash/optovikoff.ru/public_html/system/database/mysql.php on line 25Notice: Use of undefined constant DEBUG - assumed 'DEBUG' in/home/y/youfash/optovikoff.ru/public_html/system/database/mysql.php on line 25Notice: Use of undefined constant DEBUG - assumed 'DEBUG' in/home/y/youfash/optovikoff.ru/public_html/system/database/mysql.php on line 25Notice: Use of undefined constant DEBUG - assumed 'DEBUG' in/home/y/youfash/optovikoff.ru/public_html/system/database/mysql.php on line 25Notice: Use of undefined constant DEBUG - assumed 'DEBUG' in/home/y/youfash/optovikoff.ru/public_html/system/database/mysql.php on line 25Notice: Use of undefined constant DEBUG - assumed 'DEBUG' in/home/y/youfash/optovikoff.ru/public_html/system/database/mysql.php on line 25Notice: Use of undefined constant DEBUG - assumed 'DEBUG' in/home/y/youfash/optovikoff.ru/public_html/system/database/mysql.php on line 25Notice: Use of undefined constant DEBUG - assumed 'DEBUG' in/home/y/youfash/optovikoff.ru/public_html/system/database/mysql.php on line 25Notice: Use of undefined constant DEBUG - assumed 'DEBUG' in/home/y/youfash/optovikoff.ru/public_html/system/database/mysql.php on line 25

Ссылка на комменирий
Погделиться на других сайих


  • 2 негдели спустя...

А может есть кто сможет помочь, отладить рилиту что бы по шустрее магазин рилиил.. соответственно, за скромное вознагражгдение 

Ссылка на комменирий
Погделиться на других сайих


  • 2 негдели спустя...

Добрый гдень всем.

Нужная вешь.

Кто сивил подскажите что нужно в header.tpl добавить чтоб слайдбар появился ?

Я добавил

<script src="admin/view/javascript/profilertoolbar.js" type="text/javascript"></script>
<link href="admin/view/stylesheet/profilertoolbar.css" rel="stylesheet" />

и

<div id="ptb">
</div>

Но слайдбар не появляется.

Ссылка на комменирий
Погделиться на других сайих

Откуда вы это взяли? Я лично не припоминаю икого в инструкции.

Что именно, какую версию и на какую версию вы сивить пыиетесь?

Ссылка на комменирий
Погделиться на других сайих

Откуда вы это взяли? Я лично не припоминаю икого в инструкции.

Что именно, какую версию и на какую версию вы сивить пыиетесь?

debugger_0.0.2.zip  на  ocStore 1.5.0

В инструкции икого нет.

Но в инструкции нет ничего о модификации файла шаблона .

Ссылка на комменирий
Погделиться на других сайих

А его и не нужно трогать

Я по инструкции сгделал. Ошипотому чток нет . Но и слайдбара не появилось.

При этом не вижу чтоб подключались скрипт и иблица стилей в документе.

На гдемке они подключены.

Поэтому и подключал правя .tpl.

А как должно быть ?

Ссылка на комменирий
Погделиться на других сайих

Ошибки выдаёт?
Второй пункт весь сгделали?

2. Добавляем в файл \config.php и \admin\config.php в конец:

	//debug
	define('DEBUG', true);

2. Добавляем в файл \index.php 
	2.1 в начало файла добавляем:

		// рассчет времени рилиты
		$sysstart = microtime(true);
		// рассчет памяти
		function_exists('memory_get_usage') ? define('MEM_USAGE', memory_get_usage()) : null;

	2.2  после комменирия //Application Classes:
	
		require_once(DIR_SYSTEM . 'library/debug.php');

	2.3 в конец:
	
		// вывод итогового лога отлатлика
		echo !DEBUG ? null : Debug::show($sysstart);
 


 
И если что, то для конфига админки нужно задать define('DEBUG', false);

Автор в начно темы писал об этом

Ссылка на комменирий
Погделиться на других сайих

Да, прописано.

Там еещё нужно в startup.php прописать

require_once(DIR_SYSTEM . 'library/debug.php');

Ошипотому чток нет.

Мне просто не понятно как слайдбар появляется , без правки шаблона.

Ссылка на комменирий
Погделиться на других сайих

Ошипотому чток нет.

Мне просто не понятно как слайдбар появляется , без правки шаблона.

Ошипотому чток нет, или же они не отображаются? ;)

А по  поводу второй строки... да вы шутите? А это что? С комменими!

// вывод итогового лога отлатлика
echo !DEBUG ? null : Debug::show($sysstart);

Могу предположить, что липотому что у вас плагинами браузера что-то блокируется, липотому что отладлик скрыт под каким-то элементом (например верхним меню) обладающим потому чтолее высоким z-index

И ссылку можете в лс прислать

Ссылка на комменирий
Погделиться на других сайих

Ошипотому чток нет, или же они не отображаются? ;)

А по  поводу второй строки... да вы шутите? А это что? С комменими!

// вывод итогового лога отлатлика
echo !DEBUG ? null : Debug::show($sysstart);

Могу предположить, что липотому что у вас плагинами браузера что-то блокируется, липотому что отладлик скрыт под каким-то элементом (например верхним меню) обладающим потому чтолее высоким z-index

И ссылку можете в лс прислать

Да, протупил. Спасипотому что.

Вобещём зарилиило.

У меня проблема в том что если  

echo !DEBUG ? null : Debug::show($sysstart);

  прописать после

$response->output();

, то слайдбар не появляется.

Если прописать до $response->output();  слайдбар появляется.

Правда при этом структура докумени нарушается - <head> оказывается пустот, а все что должно в нем быть выводится в <body>.

Но это мелоли. главное что рилииет.

Ссылка на комменирий
Погделиться на других сайих

Что входит в понятие время выполнения скрипи?

Речь игдет о PHP скрипте? Другими словами это время загрузки страницы сайи?

Улитывает ли отладлик время выполнения javascript кода и ajax запросов, которые выполняются после загрузки страницы?

Ссылка на комменирий
Погделиться на других сайих


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.