Zurück   WordPress Deutschland Forum > Support > Plugins und Widgets > Plugin-Entwicklung

Antwort
 
Themen-Optionen Ansicht
Alt 10.04.2008, 18:02   #1 (permalink)
PostRank: 4
 
Benutzerbild von dummy
 
Registriert seit: 25.12.2007
Beiträge: 165
Subbing Plugin

Hallo, ich habe mir ein kleines Plugin gebastelt, das den Fortschritt von gesubbten Untertiteln in einem Widget anzeigen soll.

Jetzt stelle ich fest, dass im IE6 die Optionen unter dem untersten Trennstrich nicht angezeigt werden. Ich weiß jetzt leider nicht, was genau der IE nicht am Script mag. Das Widgetfenster in meinem Theme lässt sich bewegen. Wenn man es bewegt, dann wird es etwas durchsichtig und man sieht, dass die Fehlenden Optionen irgendwie in den Hintergrund gekommen sind und deswegen nicht sichtbar sind. Das Widget könnt ihr im linken Sidebar sehen Anime - Subs & Cuts Entschuldigt bitte, dass der Quellcode so zusammengestaucht ist.. Ich bin noch ein ziemlicher Anfänger in html und php und hab es einfach nicht hinbekommen die \n einzubauen ohne eine Fehlermeldung zu verursachen.

Könntet ihr mir bitte helfen mein Plugin etwas IE - freundlicher zu machen?

Hier ist die Funktion mit dem Inhalt, der im Widget ausgegeben werden soll:
PHP-Code:
function widget_video_buildEmbed($subID$minLines$maxLines$animeName$animeLinkID$progress)
{
    
$rechnung round(100/$maxLines*$minLines,2);
    
$rechnung2 round(1.88*$rechnung-(1.88*$rechnung/100*2),2);

    
$object '<object>';
    
$object .= '<a href="?p='.$animeLinkID.'">'.$animeName.'</a>';
    
$object .= '<hr size="1" />';
    
$object .= '<div style="font-size: 14px;  color: black; width: 188px;"><strong>'.$subID.'</strong></div>';
    
$object .= '<div style="border: 1px dotted red; width: 188px; height: 14px;">';
    
$object .= '<div style="margin: 2px; width: '.$rechnung2.'px; height: 10px; background-color: darkred;"></div></div>';
    
$object .= '<div style="font-size: 10px; color: red; width: 188px;">'.$minLines.' of '.$maxLines.' lines ('.$rechnung.'%)</div>';
    
$object .= '<hr size="1" />';
    if(
$progress == 1){        
        
$object .= '<div style="font-size: 10px; width: 100px; float:left;">';
        
$object .= '<div style="color: black; ">preparing lines:</div>';
        
$object .= '<div style="color: black; ">translation:</div>';
        
$object .= '<div style="color: black; ">quality check:</div>';
        
$object .= '</div>';
        
        
$object .= '<div style="font-size: 10px; width: 88px; float:left;">';
        
$object .= '<div style="color: red; ">in progress</div>';
        
$object .= '<div style="color: red; ">in progress</div>';
        
$object .= '<div style="color: red; ">in progress</div>';
        
$object .= '</div>';
    }
    
    else if(
$progress == 2){        
        
$object .= '<div style="font-size: 10px; width: 88px; float:left;">';
        
$object .= '<div style="color: black; ">preparing lines:</div>';
        
$object .= '<div style="color: black; ">translation:</div>';
        
$object .= '<div style="color: black; ">quality check:</div>';
        
$object .= '</div>';

        
$object .= '<div style="font-size: 10px; width: 100px; float:left;">';
        
$object .= '<div style="color: green; ">done</div>';
        
$object .= '<div style="color: red; ">in progress</div>';
        
$object .= '<div style="color: red; ">in progress</div>';
        
$object .= '</div>';
    }

    else if(
$progress == 3){        
        
$object .= '<div style="font-size: 10px; width: 88px; float:left;">';
        
$object .= '<div style="color: black; ">preparing lines:</div>';
        
$object .= '<div style="color: black; ">translation:</div>';
        
$object .= '<div style="color: black; ">quality check:</div>';
        
$object .= '</div>';

        
$object .= '<div style="font-size: 10px; width: 100px; float:left;">';
        
$object .= '<div style="color: green; ">done</div>';
        
$object .= '<div style="color: green; ">done</div>';
        
$object .= '<div style="color: red; ">in progress</div>';
        
$object .= '</div>';    
    }
    
    else {        
        
$object .= '<div style="font-size: 10px; width: 88px; float:left;">';
        
$object .= '<div style="color: black; ">preparing lines:</div>';
        
$object .= '<div style="color: black; ">translation:</div>';
        
$object .= '<div style="color: black; ">quality check:</div>';
        
$object .= '</div>';

        
$object .= '<div style="font-size: 10px; width: 100px; float:left;">';
        
$object .= '<div style="color: green; ">done</div>';
        
$object .= '<div style="color: green; ">done</div>';
        
$object .= '<div style="color: green; ">done</div>';
        
$object .= '</div>';
    }
    
$object .= '<div/>';
    
$object .= '</object>';
    
    return 
$object;

dummy ist offline   Mit Zitat antworten
Alt 12.04.2008, 03:30   #2 (permalink)
PostRank: 4
 
Benutzerbild von dummy
 
Registriert seit: 25.12.2007
Beiträge: 165
Ich habe es jetzt mit ner Tabelle gemacht (Bitte nicht steinigen ^^). Ich denke es lag an den floats. Bitte sagt bescheid, wenn es in anderen Explorern fehlerhaft angezeigt wird.

Wenn jemand das Plugin gebrauchen kann, hier kann man es runterladen.
dummy ist offline   Mit Zitat antworten
Alt 13.04.2008, 14:09   #3 (permalink)
PostRank: 10
 
Benutzerbild von Arno Simon
 
Registriert seit: 30.11.2005
Ort: Oberhausen (Rhld.)
Beiträge: 1.646
Nichts für ungut, aber Dein CodeStyle ist etwas, nunja...., geschwätzig ums mit verlaub zu sagen... Je mehr Code zu laden und zu verarbeiten ist, desto schlechter die Performance. Man sollte sich also angewöhnen, so wenig Code wie möglich und so viel Code wie notwendig zu verwenden. Hier mal eine etwas bereinigte Version:

PHP-Code:
function widget_video_buildEmbed($subID$minLines$maxLines$animeName$animeLinkID$progress)
{
    
$rechnung round(100/$maxLines*$minLines,2);
    
$rechnung2 round(1.88*$rechnung-(1.88*$rechnung/100*2),2);

    
$object 
      
'<object>'
    
'  <a href="?p='.$animeLinkID.'">'.$animeName.'</a>'
    
'  <hr size="1" />'
    
'  <div style="font-size: 14px;  color: black; width: 188px;">'
    
'     <strong>'.$subID.'</strong>'
    
'  </div>';
    . 
'  <div style="border: 1px dotted red; width: 188px; height: 14px;">'
    
'    <div style="margin: 2px; width: '.$rechnung2.'px; height: 10px; background-color: darkred;"></div>'
    
'  </div>'
    
'  <div style="font-size: 10px; color: red; width: 188px;">'.$minLines.' of '.$maxLines.' lines ('.$rechnung.'%)</div>'
    
'  <hr size="1" />'
    
'  <div style="font-size: 10px; width: 100px; float:left;">'
    
'    <div style="color: black; ">preparing lines:</div>'
    
'    <div style="color: black; ">translation:</div>'
    
'    <div style="color: black; ">quality check:</div>'
    
'  </div>';
    if(
$progress == 1){        
        
$object .= 
          
'  <div style="font-size: 10px; width: 88px; float:left;">'
        
'    <div style="color: red; ">in progress</div>'
        
'    <div style="color: red; ">in progress</div>'
        
'    <div style="color: red; ">in progress</div>'
        
'  </div>';
    }
    
    else if(
$progress == 2){        
        
$object .= 
          
'  <div style="font-size: 10px; width: 100px; float:left;">'
        
'    <div style="color: green; ">done</div>'
        
'    <div style="color: red; ">in progress</div>'
        
'    <div style="color: red; ">in progress</div>'
        
'  </div>';
    }

    else if(
$progress == 3){        
        
$object .= 
          
'  <div style="font-size: 10px; width: 100px; float:left;">'
        
'    <div style="color: green; ">done</div>'
        
'    <div style="color: green; ">done</div>'
        
'    <div style="color: red; ">in progress</div>'
        
'  </div>';
    }    

    else {        
        
$object .= 
           
'  <div style="font-size: 10px; width: 100px; float:left;">'
         
'    <div style="color: green; ">done</div>'
         
'    <div style="color: green; ">done</div>'
         
'    <div style="color: green; ">done</div>'
         
'  </div>';
    }
    
$object .= '</object>';
    
    return 
$object;

und wenn man sich dann auch noch angewöhnt die Schachtelungsebenen des HTML-Codes auch im PHP-Code abzubilden, sieht man meist genau woran der ausgegebene HTML-Code krankt....

vG

Arno

PS ich habe mir angewöhnt, alles was als eine Einheit anzusehen ist, mit einem DIV das alles umspannt abzugeben. Ist vor allen dingen dann nützlich, wenn man selbiges später durch separate Auszeichnungen nochmals hervorheben möchte.
__________________
Feedback ist Wichtig!|FAQ|Rückfragen im Forum!|Wenn ich mal was vergesse.... einfach mal sagen...
Arno Simon ist offline   Mit Zitat antworten
Alt 13.04.2008, 17:55   #4 (permalink)
PostRank: 10
 
Benutzerbild von Putzlowitsch
 
Registriert seit: 21.10.2006
Beiträge: 2.101
Noch etwas eleganter lassen sich so lange Texte mit der sogenannten Heredoc-Syntax darstellen:
PHP: Strings - Manual

Gruß
Ingo
__________________
putzlowitsch.de WP 2.1.3 bei All-Inkl und Strato (schnurpsel.de)
Putzlowitsch ist offline   Mit Zitat antworten
Alt 14.04.2008, 13:32   #5 (permalink)
PostRank: 10
 
Benutzerbild von Arno Simon
 
Registriert seit: 30.11.2005
Ort: Oberhausen (Rhld.)
Beiträge: 1.646
Zitat:
Zitat von Putzlowitsch Beitrag anzeigen
Noch etwas eleganter lassen sich so lange Texte mit der sogenannten Heredoc-Syntax darstellen:
PHP: Strings - Manual
Thx... die Möglichkeit kannte ich auch noch nicht.... vereinfacht das schreiben einiger sachen ungemein. besten dank nochmal.

vG

Arno
__________________
Feedback ist Wichtig!|FAQ|Rückfragen im Forum!|Wenn ich mal was vergesse.... einfach mal sagen...
Arno Simon ist offline   Mit Zitat antworten
Alt 17.04.2008, 14:32   #6 (permalink)
PostRank: 4
 
Benutzerbild von dummy
 
Registriert seit: 25.12.2007
Beiträge: 165
Danke, ich werde es für die nächste Version anwenden.
dummy ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist aus.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:02 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 | Impressum | Ein Inpsyde.com Projekt