Laut der Seite
ZitatDer Parameter 'bg' ist nicht korrekt!
Meldet die Seite und ich habe 1:1 den selben wie bei dem WBB4.1 genutzt.
Da muss irgend etwas geändert werden, da musst du leider sagen was
Laut der Seite
ZitatDer Parameter 'bg' ist nicht korrekt!
Meldet die Seite und ich habe 1:1 den selben wie bei dem WBB4.1 genutzt.
Da muss irgend etwas geändert werden, da musst du leider sagen was
So, es sollte rein theoretisch folgendes gehen
Du erstellst eine neue Datei, in den Ordner wcf\lib\system\html\output\node mit dem Namen HtmlOutputNodeThumber.class.php und folgendem Inhalt
<?php
namespace wcf\system\html\output\node;
use wcf\system\application\ApplicationHandler;
use wcf\system\html\node\AbstractHtmlNodeProcessor;
use wcf\system\request\RouteHandler;
use wcf\util\DOMUtil;
use wcf\util\StringUtil;
/**
*
* @author {COPYRIGHT_AUTHOR}
* @copyright {COPYRIGHT_COMPANY}
* @license {COPYRIGHT_LICENSE}
* @package {COPYRIGHT_PACKAGE}
* @category {COPYRIGHT_CATEGORY}
*/
class HtmlOutputNodeThumber extends AbstractHtmlOutputNode {
/**
* @inheritDoc
*/
protected $tagName = 'a';
/**
* @inheritDoc
*/
public function process(array $elements, AbstractHtmlNodeProcessor $htmlNodeProcessor) {
/** @var \DOMElement $element */
foreach ($elements as $element) {
$href = $element->getAttribute('href');
if (!ApplicationHandler::getInstance()->isInternalURL($href)) {
$element->setAttribute('class', 'thumber externalURL');
$rel = '';
if (EXTERNAL_LINK_REL_NOFOLLOW) {
$rel = 'nofollow';
}
if (EXTERNAL_LINK_TARGET_BLANK) {
if (!empty($rel)) $rel .= ' ';
$rel .= 'noopener noreferrer';
$element->setAttribute('target', '_blank');
}
if (!empty($rel)) {
$element->setAttribute('rel', $rel);
}
$element->textContent = '';
$img = $htmlNodeProcessor->getDocument()->createElement("img");
$img->setAttribute("src", 'https://thumber.de/image/?size=SXXXL3DL&bg=transparent&url='.StringUtil::encodeHTML($href));
$element->appendChild($img);
}else{
$element->setAttribute('href', preg_replace('~^https?://~', RouteHandler::getProtocol(), $href));
$value = StringUtil::trim($element->textContent);
if (!empty($value) && $value === $href && mb_strlen($value) > 60) {
while ($element->childNodes->length) {
DOMUtil::removeNode($element->childNodes->item(0));
}
$element->appendChild(
$element->ownerDocument->createTextNode(
mb_substr($value, 0, 30) . StringUtil::HELLIP . mb_substr($value, -25)
)
);
}
}
}
}
}
Alles anzeigen
Danach musst du folgendes in die Datei wcf\lib\system\html\output\node\HtmlOutputNodeProcessor.class.php hinzufügen
public function process() {
// fire event action
EventHandler::getInstance()->fireAction($this, 'beforeProcess');
$this->invokeHtmlNode(new HtmlOutputNodeThumber());
// highlight keywords
$this->highlightKeywords();
So und das sollte es dann sein
Die Zeile 75 muss nur neu hinzugefügt werden
Edit:
Leider musst du die Datei wcf\lib\system\html\output\node\HtmlOutputNodeA.class.php manuell löschen, da diese die HTML Class thumber aus dem a Element entfernt.
Daher kannst(solltest( du nach den Änderung am besten kein update machen ansonsten musst du jede Änderung erneut durch führen
Muss ich mir in ruhe ansehen, sofern ich Zeit habe.
Es gibt aktuell fürs erste nur eine Möglichkeit dies per JavaScript nachträglich einzufügen.
Jedoch kann es sein das ich es auch über ein Event hinbekomme
Mal sehen, ich melde mich dann sobald ich etwas mehr zeit habe.
Im WSC3 gibt es leider für die Links so einen BB-Code nicht mehr. Da müsste ich mich mal schlau machen, ich denke dies geht wenn überhaupt über ein Event.