JavaScript Debugging mit Firebug

23. März 2010 at 14:48

Eine ausführliche Anleitung zum Debugging von Java-Script im Firefox findet ihr hier.

Firebug / FirePHP über PHP ansprechen

19. November 2009 at 15:45

firebug

Firebug mit FirePHPCore-Library ansprechen

Mit der folgenden Funktion könnt ihr Firebug mit Hilfe der FirePHPCore ansprechen, dazu ggf. den entsprechenden Pfad zur Library anpassen (bei path to library):

function firebug($array=array(), $error_reporting=true)
{
  if($error_reporting)
error_reporting(E_ALL);
// path to library
require_once PFAD_RELATIV . "/class/Firebug/FirePHP.class.php";
$firephp = FirePHP::getInstance(true);
require_once (PFAD_RELATIV."/class/Firebug/fb.php");
//$firephp->group('Debug Group');
$firephp->dump('dump', $array);
//$firephp->fb($array, 'dump', FirePHP::DUMP);
$firephp->fb($array, 'dump', FirePHP::INFO);
//$firephp->groupEnd();
}

Firebug in ZendFramework ansprechen

Mit der folgenden Funktion könnt ihr Firebug direkt im ZendFramework ansprechen

function firebug($value= '')
{
 $writer = new Zend_Log_Writer_Firebug();
 $logger = new Zend_Log($writer);
 $request = new Zend_Controller_Request_Http();
 $response = new Zend_Controller_Response_Http();
 $channel = Zend_Wildfire_Channel_HttpHeaders::getInstance();
 $channel->setRequest($request);
 $channel->setResponse($response);
 // Start output buffering
 ob_start();
 // Now you can make calls to the logger
 $logger->log($value, Zend_Log::INFO);
 // Flush log data to browser
 $channel->flush();
 $response->sendHeaders();
}

Debug Log Ausgabe in Firebug

<?php
FB::log('Log message');
FB::info('Info message');
FB::warn('Warn message');
FB::error('Error message');
?>

Log Debug Ausgabe in Firebug aus JavaScript

Stack traces

console.trace();

Object Inspection

console.dir(object);

XML Object inspection

console.dirxml(element);

Current Events on the Page

console.dir(window);

With Objects

console.log("The %d item has a value of: %d", fifth, myvalue);

Firebug with Ajax developement

how-to-integrate-firephp-for-ajax-development

Weiter führende Links

Stack traces
console.trace(); 

Object Inspection
console.dir(object)

XML Object inspection
console.dirxml(element)

Magento – Neue Developer Toolbar für eine schnellere & effizientere Entwicklung

13. November 2009 at 13:52

Auf Magento-Connect gibt es seit kurzem die kostenlose Extension Developer Toolbar for Magento zum Download.

Magento Connect Developer Toolbar for Magento

Magento Connect Developer Toolbar for Magento

Nach der Installation über Magento-Connect erscheint in der Fusszeile des Browsers die Developer Toolbar for Magento:

Magento Developer Toolbar

Magento Developer Toolbar

Die Anzeige kann auch im Magento Admin-Backend auf Global, per Website oder auch per Store-View konfiguriert werden.

Ihr findet die Option „Aktiviert Ja / Nein” unter System->Konfiguration->Erweitert->Entwickleroptionen->Developer Toolbar .

Die Optionen in der Developer Toolbar sind bereits vorhandene Funktionalitäten aus dem Backend, der Mehrwert liegt darin dass das suchen der Option bzw. das lästige klicken durch den Menus sowie der Login in das Admin-Backend entfällt. So kann, vor allem bei der Entwicklung, einiges an Zeit eingespart werden.

Sie Benötigen Unterstützung bei der Erstellung oder Anpassung eines Magento eCommerce Shop System?

Fly2Mars-Media unterstützt Sie in diesem und vielen anderen Bereichen rund um das Thema Internet & IT!

Für ein individuelles Angebot nehmen Sie noch heute Kontakt mit uns auf.

Twitter in Webseite einbinden (Twitter Remote Connect)

10. November 2009 at 16:57

twitter

Mit der folgenden PHP-Klasse könnt ihr euch mit Twitter verbinden und von Eurem Benutzer-Account die letzten Tweets auslesen um sie z.B. auf Eure Webseite einzubinden:

<?php
/**
 * fly2mars-media
 * http://www.fly2mars-media.de
 * http://www.fly2mars-media.de/seoblog
 */
/*
 * Twitter connector class
 */
class twitterConnect
{
 // http://www.webmasterpro.de/coding/article/php-twitter-in-eine-webseite-einbinden.html
 protected $twitter = null;
 public function __construct($userName = '', $pw = '')
 {
 $this->twitter = curl_init();
 curl_setopt($this->twitter, CURLOPT_USERPWD, $userName . ':' . $pw);
 }
 /*
 * get last X tweets
 * @var $tweet int
 */
 public function getLastTweets($tweets = 5)
 {
 //get last x tweets
 curl_setopt($this->twitter, CURLOPT_URL,
             'http://twitter.com/statuses/user_timeline.json?count=' . $tweets);
 curl_setopt($this->twitter, CURLOPT_RETURNTRANSFER, TRUE);
 $twitterData = curl_exec($this->twitter);
 // convert to array
 $twitterDataArray = json_decode($twitterData);
 return $twitterDataArray;
 }
 public function getOutLastTweets($tweets)
 {
 // get only text out
 foreach($this->getLastTweets(10) as $id => $value)
 {
 echo "tweet $id: " . $value->text . '<br/>';
 }
 }
}

Objekt erzeugen / Klasse verwenden

// get out text from last 10 tweets
$twitterConnect = new twitterConnect('twitterUserLoginName', 'twitterUserPassword');
$twitterConnect->getOutLastTweets(10);
$twitterResponseData = $twitterConnect->getLastTweets(10);
// get data out from array
echo '<pre>';
print_r($twitterResponseData);
echo '</pre>';

Sie Benötigen Unterstützung bei der Erstellung oder Anpassung eines Ihrer PHP- oder MySQL-Scripte?
Benötigen Sie eine Individual-Entwicklung oder möchten Ihr bestehendes System erweitern?

Fly2Mars-Media unterstützt Sie in diesem und vielen anderen Bereichen rund um das Thema Internet & IT!

Für ein individuelles Angebot nehmen Sie noch heute Kontakt mit uns auf.

Firebug – Shortcuts

5. November 2009 at 13:55

Firebug ist einer mit der nützlichsten Tools im Bereich Debuggen von Webseiten ((X)HTML, CSS, JavaScript, etc.).

Mit Hilfe der Mouse & Keyboard-Shortcuts lassen sich viele Funktionen aufrufen oder der Aufruf vereinfachen, die wichtigsten Shortscuts findet ihr hier.

Magento: Nach Datenbank-Import Fehlermeldung im Front-End

22. Oktober 2009 at 14:58

Notice: Undefined index:  0  in /var/www/…/httpdocs/app/code/core/Mage/Core/Model/Mysql4/Config.php on line 92

#0 /var/www/…/httpdocs/app/code/core/Mage/Core/Model/Mysql4/Config.php(92): mageCoreErrorHandler(8, ‚Undefined index…‘, ‚/var/www/…‘, 92, Array)
#1 /var/www/…/httpdocs/app/code/core/Mage/Core/Model/Config.php(268): Mage_Core_Model_Mysql4_Config->loadToXml(Object(Mage_Core_Model_Config))
#2 /var/www/…/httpdocs/app/code/core/Mage/Core/Model/App.php(263): Mage_Core_Model_Config->init(Array)
#3 /var/www/…/httpdocs/app/Mage.php(434): Mage_Core_Model_App->init(“, ’store‘, Array)
#4 /var/www/…/httpdocs/app/Mage.php(455): Mage::app(“, ’store‘, Array)
#5 /var/www/…/httpdocs/index.php(79): Mage::run(“)
#6 {main}

Ihr habt ein Magento-Backup wieder in eine Datenbank importiert und bekommt beim Aufruf des Shops über das Front-End eine ähnliche Fehlermeldung?

Magento speichert bei der Installation die Website-IDs in die Datenbank mit der ID 0. Bei dem Import oder der Übertragung der Datenbank in eine Andere ist ggf. aus der ID 0 für den Admin-Teil der Website eine 2 geworden (so bei uns im aktuellen Fall).

Ändert ihr nun in der Tabelle core_website und core_store die website_id des Datensatzes mit dem Code admin zurück in eine 0, so ist der Fehler behoben.

Unabhängig davon auch beim Import den Fremdschlüssel-Check deaktivieren wie diesem Artikel beschrieben.

Magento: Live (Inline)-Übersetzung im Front- oder Backend-End aktivieren

21. Oktober 2009 at 09:02

Ihr möchtet Übersetzungen im Front- oder Back-End tätigen? Magento liefert dazu eine Live (Inline) Übersetzungs-Option an.

Diese könnt ihr im Admin-Menu unter „Entwickleroptionen/Inline übersetzungen“ aktivieren.

Ab sofort er haltet ihr durch klick auf die entsprechende Wort-Phrase die Möglichkeit direkt Übersetzungen vorzunehmen.

magento screenshot - live uebersetzung

magento screenshot - live uebersetzung

Alternativ in der Config-Datei „\app\code\core\Mage\Core\etc\config.xml “ im folgenden Bereich:

<translate_inline>
<
active>1</active>

<
active_admin>0</active_admin>

</
translate_inline>

Debugging im „Opera“ mit „Dragonfly“

15. Oktober 2009 at 13:05

Gerade Webentwickler die von Firefox zu Opera umsteigen vermissen ggf. ein Webmaster-Tool wie das Plugin Firebug.

Als Alternative dazu findet ihr im Opera unter „Extras -> Weiteres -> Entwicklerwergzeuge“ ein Tool Namens „Opera Dragonfly“, welches ähnlich dem Firefox Plugin Firebug, als nützliches Debugging-Tool für Webmaster ist.

Opera Dragonflyer Screenshot 1

Opera Dragonflyer Screenshot 1

Dragon Flyer ScreenShot 2

Dragon Flyer ScreenShot 2

Neben der aufbereiteten (X)HTML, CSS, XML & JavaScripts besteht die Möglichkeit der Debug-Ausgabe, z.B. Debuggen von JavaScript mit Hilfe von Haltepunkten.

In der Kommandozeile ist die direkte Eingabe von Befehlen möglich, wodurch das Testen und Probieren ungemein erleichtert wird.

Anzeigen und Bearbeiten von CSS-Eigenschaften ist ebenso möglich wie die Vorschau des gesamten Seitenlayouts.

Eine Navigation durch den DOM-Baum und die Durchführung von Änderungen klappt ebenfalls wunderbar.

Ähnlich dem Firebug gibt es eine Console, die Fehlermeldungen und sonstige Ausgaben anzeigt und praktische Filtermöglichkeiten zur bereit stellt.

Download Opera Dragonflyer

Englische Einleitung in DragonFlyer

Vorstellung der Entwicklungsumgebung ZendStudio 7

10. Oktober 2009 at 21:30

Eine mit der Besten Entwicklungsumgebungen für die Entwicklung im PHP & Zend-Umfeld ist unser Meinung das ZendStudio von der gleichnamigen Firma Zend. Seit Version 6 basierend auf Eclipse, einer mächtigen und gut zu skalierenden Entwicklungsumgebung von IBM & SUN welche ursprünglich für die Entwicklung im Java-Umfeld konzipiert wurde.

Zend hat ein Video online gestellt in welchem ihr ein schnellen Einblick über die Funktionalität erhalten könnt.

Link zum Webminar von Zend

Magento: Debug-Ausgaben

24. September 2009 at 17:20

Leider funktioniert die Debug-Ausgabe mit Pfadhinweisen in Magento nur im Front-End. Gerade bei der Entwicklung im Backend benötigt man immer wieder ein paar Debug-Ausgaben, z.B. in welchem Block-Element man sich gerade befindet. Durch die Ausgabe im Template von

$this->debug();

bekommt ihr ein Array mit Informationen über den aktuellen Pfad, Name im Layout sowie den Modul Namen! Bei der Entwicklung im Admin-Bereich teilweise verdammt hilfreich. 😉

Alternativ ist die Ausgabe von Debug-Infos in eigene log-files möglich über den folgenden php-aufruf:

<? php
Mage::log("log-message", Zend_Log::DEBUG, "logefile.log");
?>