Giter Club home page Giter Club logo

redaxo's Introduction

🌎 Deutsch

REDAXO

Content Management since 2004. Both simple and flexible.

REDAXO provides you an easy-to-learn website framework. It lets you create content from custom modules with full control of any input and output. It is multilingual, highly extendable and adapts to your workflow.

Screenshots

 

Changelog  |  Documentation  |  API Docs  |  Tricks  |  Slack  |  Twitter  |  Friends Of REDAXO  |  Community Map

   


Community ❤️

REDAXO is mainly used in German-speaking countries. However, the software already comes in several languages — English, Spanish, Italian, Swedisch, Portuguese — and the community is working on translating more and more content. If you don't understand German, please don't let that stop you from trying REDAXO: The community is known for being extremely helpful and friendly, and we will support you wherever we can! ✌️

Get to know REDAXO and its community:

1. Install CMS and check out the demo websites

This is probably the best way to get to know REDAXO: install the latest release, log in to the admin section and use the built-in Installer addOn to check out one of the demo websites. If you’re new to REDAXO or don’t speak german, search for demo_base (»Basisdemo«) as it is fully translated into English and explains all major topics.

Current demo websites: Base, Community, OnePage, FullPage.

2. Join our Slack

You’ll find a lot of community members in the Slack chat. And also the core developers. This is probably the best option to ask questions and get to know the community. —Happy to see you there, get your invite at redaxo.org/slack!

3. Find people on the Community World Map

Where in the world are people using REDAXO? The map will show you. 🌎 Your marker still missing? Learn how to place it on the map.

 

Contributions

To develop on core and core addons, set up the project with these steps:

  • Clone the repsoitory: git clone https://github.com/redaxo/redaxo redaxo && cd redaxo
  • Install the tools used for the development with Composer: composer install
  • You can use the provided Docker configuration to start a local development environment: docker-compose up -d. In case you need a port other than the default port 80, start it like this: REDAXO_PORT=8080 docker-compose up -d.

 

Copyright & License

REDAXO was developed by Yakamara (Frankfurt am Main/Germany 🇩🇪), is open-source since 2004 and is released under the MIT license.

 

Psalm coverage

redaxo's People

Contributors

aeberhard avatar alxndr-w avatar bloep avatar christophboecker avatar danielweitenauer avatar danspringer avatar dependabot[bot] avatar dergel avatar eace avatar gharlan avatar hirbod avatar ingowinter avatar interweave-media avatar joachimdoerr avatar koala avatar nandes2062 avatar phoebusryan avatar pwechs avatar schuer avatar sioweb avatar skerbis avatar staabm avatar tbaddade avatar thorol avatar tobiaskrais avatar tyrant88 avatar viewsion avatar xong avatar ynamite avatar ytraduko-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

redaxo's Issues

Sprachdateien im YAML-Format

Ich hab es ja schon mal angesprochen, ich schlage vor, dass wir die Sprachdateien als YAML formatieren und dadurch auch Verschachtelung ermöglichen.

Beispiel:

Aktuelle Sprachdatei des Installers:

install_name = Installer

install_no_plugins = Keine PlugIns aktiviert!

install_webservice_unreachable = Der Webservice ist zurzeit nicht erreichbar!
install_webservice_error = Der Webservice liefert folgende Fehlermeldung:
install_archive_unreachable = Die Zip-Datei ist nicht erreichbar!

install_settings = Einstellungen
install_settings_general = Allgemein
install_settings_backups = Backups erstellen
install_settings_myredaxo_account = myREDAXO-Account
install_settings_api_login = Nutzername
install_settings_api_key = API-Key
install_settings_saved = Einstellungen wurden gespeichert!

Diese würde dann so aussehen:

install:
  name: Installer

  no_plugins: Keine PlugIns aktiviert!

  webservice:
    unreachable: Der Webservice ist zurzeit nicht erreichbar!
    error: Der Webservice liefert folgende Fehlermeldung:
  archive_unreachable: Die Zip-Datei ist nicht erreichbar!

  settings: 
    '': Einstellungen
    general: Allgemein
    backups: Backups erstellen
    myredaxo_account: myREDAXO-Account
    api_login: Nutzername
    api_key: API-Key
    saved: Einstellungen wurden gespeichert!

Beim Einlesen der Datei werden dann die Schlüssel wieder mit "_" zusammengesetzt.

Der Aufwand für die Umsetzung ist ziemlich gering, und aus meiner Sicht wäre das ein sehr nettes Feature.

@staabm @dergel @tbaddade Was meint ihr dazu?

Datei-Export zeigt TAR-Archiv an

Wenn ich versuche, in der aktuellen Version (a505cfc) einen Datei-Export durchzuführen (in dem nur das assets-Verzeichnis enthalten ist), zeigt mir das Backend danach scheinbar den Export als Binärstring an (das tar-Archiv wird trotzdem korrekt erzeugt).

Scheint in Zeile 82 der addons/import_export/pages/export.php durch die doppelte Verwendung der $content-Variable hervorgerufen zu werden:

$content    = rex_a1_export_files($EXPDIR);

// later ...

$content .= '

    <h3 class="rex-hl2">'.rex_i18n::msg('im_export_export').'</h3>
....';

Addonabhängigkeiten in rex_request::castVar()

rex_request::castVar() wird verwendet für das Casting der Globals (rex_get(), rex_post() etc.). Da gibt es diese speziellen rex-Typen wie rex-article-id, rex-category-id, rex-template-id etc. Diese gehören eigentlich in die entsprechenden Addons.
article, category und clang sind die einzigen, die überhaupt speziell casten, alle anderen (module, template, media etc.) casten bisher nur nach int.

Mein Vorschlag ist, diese rex-Typen komplett abzuschaffen, und nur noch die Standard-PHP-Typen zu unterschützen. Die weitere Validierung muss man dann selbst machen, die meisten Typen casten aber ja sowieso nur nach int.

REX_TEMPLATE[id] & REX_ARTICLE[] not work

Beim versuch die Demo für Rex5 fit zu machen ist mir aufgefallen, dass REX_TEMPLATE[id] und REX_ARTICLE[] im Frontend nicht weiter verarbeitet wird, es wird ausgeschrieben als wäre es ein einfacher bedeutungsloser Text der da stünde.

bilder nachladen im MP im Safari

tbaddade:

mp "bilder nachladen" hoch … klappt im safari nur nach dem man direkt scrollt. bei den ersten bildern bleibt das loading.gif wenn man nicht scrollt

Workarround von dave:


setTimeout(function(){
      jQuery(window).trigger('scroll');
},200);

RFC RecursiveIterator in rex_navigation

RFC / Request for comments. Ths issue is meant to discuss a feature which may be added in a future redaxo version...

The rex_navigation should be adjusted for easier use and a more convenient way to generate custom markup.

$navigation = new rex_navigation();
$navigation->ignoreOfflines(true);
$navigation->ignoreStartArticles(true);
foreach($navigation->getLevel($fromLevel, $toLevel) as $navElement)
{
  $navElement interface:
     getLevel(), returns the level as int 
     getPosition(bool $asNumeric) returns the position of the element within its level as string (first/last/1,2,3,4,...)
     getGlobalPosition(bool $asNumefic) returns the position of the element within the whole structure as string (first/last/1,2,3,4,...)
     hasChildren() returns true when the item has children, otherwise false
}

Bei Installation wird keine Tabelle für Metadaten angelegt

Mir ist eben beim neu installieren des neusten Masters aufgefallen, dass für die Metadaten keine Tabelle angelegt wird, ich muss das Addon re-installieren.

Beispiel Error der Metadaten im Medienpool:

Fatal error: Error while executing statement "SELECT * FROM rex_metainfo_params p, rex_metainfo_type t WHERE `p`.`type` = `t`.`id` AND `p`.`name` LIKE "med\_%" AND (`p`.`restrictions` = "" OR `p`.`restrictions` IS NULL OR `p`.`restrictions` LIKE "%|0|%") ORDER BY prior! SQLSTATE[42S02]: Base table or view not found: 1146 Table 'usrdb_kundeebm_rex5.rex_metainfo_params' doesn't exist in /home/kundeebm/redaxo.dev22.eu/redaxo/src/core/lib/sql.php on line 264

$article->getDescription() not work

Im "Artikelliste" Modul gab es auch noch das Problem , dass ->getDescription folgenden Error ergab:

Fatal error: Call to undefined method rex_ooArticle::getDescription() in rex://module/6/output on line 13

Ich hatte es dann durch folgenden Code ersetzt:

$articleDescription = $var->getValue("art_description");

Sollte in rex5 "getDescription" ganz entfallen sein, wäre ein Hinweis im Wiki angebracht.

PHP Versionscheck

R5 läuft nur mit PHP >= 5.3, mit niedrigeren Versionen kommt man nicht mal zur Setup page, vorher tritt schon ein Fatal Error auf.

Entweder muss man es so hinbiegen, dass man irgendwie doch bis zum regulären Versionscheck im Setup kommt, oder schon ganz oben im Code die Version überprüfen. Ersteres wäre natürlich schöner, wird aber glaube ich schwierig, weil schon sehr elementare Klassen PHP5.3-Features verwenden. Und die wieder umzubauen, wäre auch nicht so schön. Aber muss man sich noch mal anschauen, welche Stellen das genau wären.

Textile Beispiel isAvailable updaten

Mir ist aufgefallen dass die Syntax im Beispiel nicht ganz korrekt, wollte deswegen jetzt nicht Forken.

if(rex_addon::isAvailable("textile"))

müsste zu

if(rex_addon::get("textile")->isAvailable())

geändert werden.

pjax: timeout message

gharlan: teilweise erscheint als message "someting went wrong: timeout", teilweise bleibt die message dann, teilweise wird sie noch durch die richtige ersetzt

confirm bei pjax links

Die confirm-Box bei den pjax links erscheint nicht, die Aktion wird stattdessen ohne Bestätigung sofort ausgelöst.
Getestet mit FF11, beim Artikel löschen und AddOn deinstallieren.

centralize caching

bring symfony1 caching classes into redaxo

refactor rex_config, rex_autoloader, article/template/media/installer/clang-cache to use the new cache classes.

add sfFunctionCache to rex_category_select to boost render performance on big structured pages.

Media Manager Resize not work

Es wird bei Verwendung der Syntax die im "Media Manager" vorgegeben ist nur eine leere Seite statt des resizten Bildes angezeigt; der Effekt der hier gesetzt wurde ist ein einfaches img-resize.

index.php?rex_media_type=gallery_overview&rex_media_file=screenshot_content_edit.png

Medien verschieben nicht möglich

Im Medienpool ist es ist nicht möglich Medien in andere Kategorien zu verschieben. Es wird in der Selectbox nur "Keine Kategorie" aufgeführt. Unter "Medienkategorie auswählen" werden hingegen alle Kategorien korrekt aufgelistet.

Addonabhängigkeiten in rex_formatter

rex_formatter kennt die beiden speziellen rex-Typen rexmedia und rexurl. Diese sind eigentlich Addonspezifisch.

Ich würde vorschlagen, beide Typen zu streichen. Ich glaube nicht, dass die viel verwendet werden.

RFC Rex-Var validation

RFC / Request for comments. Ths issue is meant to discuss a feature which may be added in a future redaxo version...

Rex-Var based validation means that you are able to validate user input using a Rex-Var itself instead of using Rex-Actions. This approach should only handle most common use-cases and is not meant to handle very complex scenarios.

New Rex-Var properties: (only for input vars)
"required", used to define that the Rex-Var is not allowed to be empty
"validate", validiate simple types (numeric, alpha, float, int,???)
"pattern", validate the input against a RegEx e.g. "\d.\d"

When validation of the user input of a var fails, the corresponding input will be rendered with an attached css class "invalid". A Slice will not be saved/updated until all validation passes.

login JS Fehler / closeAll not defined

jeanc:

ich hab gestern mal probiert das gemodete pjax von him hier http://playground.meekostuff.net/jquery-pjax/demo/index.html @ r5 einzubaun, und dabei bin bei was ganz anderem hängengeblieben: ich kann mich nicht mehr einloggen.. user/pwd werden plötzlich nicht akzeptiert (ham sich aber nat. nicht geändert), und der screen sieht so aus: http://awesomescreenshot.com/0c84kyd8e

closeAll is not defined..

http://dl.dropbox.com/u/10220684/screenshots/screenshot%202012-04-30%20um%2010.58.05.PNG

Prio in Pagination bei Kategorien inkorrekt bei add new Kat

Momentan ist die Strukturverwaltung ja so angelegt, dass nach 3 Kategorien die Pagination eingreift und somit die Kategorie Ansicht blätterbar wird. Legt man nun neue Kategorie Punkte an wird dieser mit Prio 4 versehen bzw. dieser erscheint dann an erster stelle der Letzten Seite.

Call to undefined function rex_deleteSlice()

Bei dem Versuch ein Block zu löschen erhielt ich folgende Fehlermeldung:

[17-Dec-2011 22:26:50] PHP Fatal error: Call to undefined function rex_deleteSlice() in /Users/joachimdorr/Sites/redaxo/rex5/redaxo/src/addons/structure/plugins/content/pages/content.inc.php on line 302

HREF fehler ?

Fehlerhafte URL vom REX-LOGO im Backend.

a class="rex-page-logo" href="../redaxoindex.php/" title=""/a

Error-eMail-Adresse

(bitte als Feature labeln)

Um Redaxo mehr als Community-Projekt darzustellen, wäre es vielleicht ganz praktisch, die Error-eMail-Adresse nicht fest auf Jans Büro-Adresse festzulegen, sondern während des Setups dynamisch aus "info@" + Hostname ($_SERVER['SERVER_NAME']) zusammenzusetzen.

Pro: Bei Fehlern würde eine sinnvolle Adresse angezeigt werden.
Contra: Agenturen, die Redaxo vorkonfektionieren (= die Angabe im YAML durch "error@agentur" ersetzen) müssten beim Installieren die dynamisch generierte Adresse wieder durch ihre Angabe ersetzen.

Nur mal so als in den Raum geworfene Idee. =)

Auswahl Backend-Startseite

Die Selectbox für die Backend-Startseite in den Benutzereinstellungen wird nicht mit allen möglichen Pages gefüllt.

Addonabhängigkeiten in rex_form

Die Elementklassen zu media(list) und link(list) liegen noch im Core, gehören aber eigentlich in die Addons.
Die rex_form hat die Methoden addMedia(list)Field() und addLink(list)Field(), die sind somit eigentlich auch Addonspezifisch.
Wie lösen wir das am besten?

Mir fallen im Momemt drei Varianten ein:

  1. Man lässt die Methoden im Core, auch wenn sie da eigentlich nicht hingehören, und wirft Fehler, wenn die Addons nicht aktiviert sind.
  2. Man entfernt die Methoden, und ermöglicht das Hinzufügen dieser Felder nur noch in der Form $form->addField(new rex_form_widget_media_element(...)). Dann müsste der Core nix von den Klassen wissen.
  3. Man ermöglicht in rex_form, diese Methoden von den Addons nachträglich der Klasse hinzuzufügen (mit __call())

Ich tendiere im Moment zu Variante 2, ist denke ich die sauberste Lösung. Die 1. und 3. hätten aber als Vorteil, dass sich in der Nutzung der rex_form nichts ändern würde. Die 3. ist mir aber zu magic, und die 1. ein fauler Kompromiss.

"block add" select-box

we should replace the "block add" selectbox with a prozer'like html/css dropdown.
this way we could also add filtering capabilities (a text field which filters the drop-down content while typing)

Sprachdateien & HTML

In manchen Sprachdateien gibt es bereits als HTML kodierte Strings. Vor allem fällt das bei der türkischen auf, die im Backend als T&uuml;rk&ccedil;e angezeigt wird. Bei einigen Strings macht es Sinn, HTML zu erlauben, allerdings sollte das dann konsistent über alle Sprachdateien gleich sein. =) Beim Sprachnamen (zu sehen beim Bearbeiten eines Benutzers) kommt sonst wohl das von rex_select durchgführte htmlspecialchars() in die Quere.

Pluspunkte gibt's, wenn jemand vor dem R5-Release noch die unzähligen Fixes aus dem R4-Branch rüberzieht. Nur als Reminder, ich persönlich würde es garantiert vergessen ^.^

Medienpool Mime-Pictures not found

Es werden in der Medienpool Übersicht keine Mime-Pics angezeigt für nicht IMG Dateien:

Failed to load resource: the server responded with a status of 404 (Not Found)

Offensichtlich ist der Pfad nicht korrekt:

<img class="" src="media/mime-css.gif" longdesc="media/mime-css.gif" width="44" height="38" alt="" title="">

Debug Addon: Firephp Ausgabe immer aktiv..

Die debug Ausgabe über Firephp findet immer statt, d.h. auch wenn man als User/Admin im backend ausgeloggt ist -> potentielles Sicherheitsrisiko, weil dadurch jeder der Firephp installiert hat die debug Ausgaben einsehen kann. Vorschlag:

  1. Minimal-Lösung: Ausgabe grundsätzlich an aktive User-Session koppeln
  2. Addon Settings: Ausgabe Modus einstellbar.. off/Session/permanent

getChildren in Frontend not work

Ich hab das Kategorien Listen Modul aus der Demo eingesetzt und OOCategory durch rex_ooCategory entsprechend ersetzt. Im Backend wird auch alles korrekt dargestellt nur im Forstend gibt es folgenden Fehler:

[18-Dec-2011 09:29:02] PHP Fatal error: Call to a member function getChildren() on a non-object in rex://module/7/output on line 4

Hier der Modul Output Code:

<?php

$cat = rex_ooCategory::getCategoryById($this->getValue('category_id'));
$cats = $cat->getChildren();

$itemsPerSide = "REX_VALUE[1]";
$wordsPerArticle = "REX_VALUE[2]";

if (is_array($cats))
{
  $i = 0;
  foreach ($cats as $cat)
  {
    $i += 1;
    if ($i <= $itemsPerSide)
    {
      if ($cat->isOnline())
      {

        $catId = $cat->getId();
        $catName = $cat->getName();
        $article = $cat->getArticles();

        if (is_array($article))
        {
          foreach ($article as $var)
          {
            $articleId = $var->getId();
            $articleName = $var->getName();
            $art = new rex_article($articleId);
            $articleContent = $art->getArticle();

            $articleContent = trim($articleContent);
            $articleContent = str_replace('</p>', ' </p>', $articleContent);
            $articleContent = str_replace('<br />', ' <br />', $articleContent);

            $articlePPath = $REX['MEDIAFOLDER'] . 'files/' . $var->getValue('file');

            $output = '';
            $words = explode(' ', $articleContent);
            $wordsCount = count($words);

            if ($wordsCount < $wordsPerArticle)
              $wEnd = $wordsCount;
            else
              $wEnd = $wordsPerArticle;

            for ($w = 0; $w < $wEnd; $w++)
            {
              $output .= $words[$w] . ' ';
            }

            $output = trim($output);

            $isCloseParagraph = substr($output, -4);
            $isCloseDiv = substr($output, -10);
            $link = '<a href="' . rex_getUrl($articleId) . '" class="more"> ...mehr</a>';
            $newString = $link . '</p>';

            if ($isCloseParagraph == '</p>')
            {
              $output = substr_replace($output, $newString, -4);
            }
            elseif ($isCloseDiv == '</p></div>')
            {
              $output = substr_replace($output, $newString.'</div>', -10);
            }
            else
            {
              $output .= $newString;
            }

            // print '<h2>'.$articleName.'</h2>';
            print '<div class="txt-img">' . $output . '</div>';

          }
        }
      }
    }
  }
}
?>

sql import/export not work

Beim dem Versucht, mit dem Import/Export Addon gespeicherte, SQL Datei zu importieren erhalte ich folgende Meldung:

Query was empty

Aber es werden keine Daten importiert. Die Strukturverwaltung, Templates und Module bleiben leer.

Ich hab mir also den Output der exportierten Datei angeschaut, da wird dann auch klar weswegen:

## Redaxo Database Dump Version 5
## Prefix rex_
## charset utf-8

DROP TABLE IF EXISTS `rex_action`;
;

Übrigens ist ein Export mit der Option die Datei herunter zu laden nicht möglich, folgender Error wird ausgegeben:

Notice: Undefined index: Create Table in /Users/joachimdorr/Sites/redaxo/rex5/redaxo/src/core/lib/sql.php on line 1130

Fatal error: Call to undefined method rex_sql::freeResult() in /Users/joachimdorr/Sites/redaxo/rex5/redaxo/src/addons/import_export/functions/function_import_export.inc.php on line 347

ajax loader styling

the newly added ajax-loader needs some styling

see a829a45.

markup may be moved in another fragment, no problem from javascript implementation side.

rex_addon/plugin (package) -> rex_path shortcuts

the current package object ($this in addon/plugin) should provide a shortcut to the asset/data folder.

$this->asset('myfile', $pathType)
$this->data('mykey')

the addon/plugin name/key could be provided by the object itself.

addons included as git submodules

goal of this ticket:

  • remove all addons which have a corresponding master at github (or the other way arround... remove all other git repositories and bring redaxo-core up2date)

Preparation:
we should backport all phpmailer changes from our repos into dergel/redax_phpmailer.

Affected addons:

  • community
  • xform
  • phpmailer
  • import/export?

Kommentare & der Autoloader

Vor kurzem hat der Autoloader ja Unterstützung für Namespaces erfahren. =) Dabei werden korrekterweise explizit alle irrelevanten Tokens übergangen. Bei Klassennamen wird hingegen fest 2 Tokens weitergesprungen (obwohl es doch 3 Zeilen weiter oben richtig implementiert ist). Das führt dazu, dass der Autoloader Konstrukte wie

<?
class /* comment*/ blub { }

nicht erkennt. Der Algorithmus ist ja da, sollte sich leicht fixen lassen.

Github zeigt den Kommentar oben nicht richtig an, ein kurzer Test mit PHP 5.3.9 sprach aber dafür, dass Kommentare zwischen T_CLASS und T_STRING erlaubt sind. Aber zugegeben: Wer da Kommentare platziert.... na ja. ;)

Datenbank-Exporte funktionieren noch nicht

Im Im/Ex-AddOn haben sich noch ein paar alte API-Calls eingeschlichen, die es verhindern, die DB zu exportieren. Beim Versuch erhalte ich folgende Meldungen:

  • Notice: Undefined index: Create Table in Q:\redaxo\redaxo\redaxo\src\core\lib\sql.php on line 1130
  • Fatal error: Call to undefined method rex_sql::freeResult() in Q:\redaxo\redaxo\redaxo\src\addons\import_export\functions\function_import_export.inc.php on line 347

Should be an easy fix :-)

FYI: MySQL 5.5.19 on Win7

Navi Aktualisierung (pjax)

Wenn man die Subpage über die Reiter oberhalb der page (nicht über die Navi links) wechselt, dann bleibt in der Navi die alte Subpage aktiv.

Beispiel:

  • "Module" links in Navi anklicken
  • "Aktionen" oberhalb der page anklicken
  • links bleibt die subpage "Module" aktiv

Error by save von Modulen mit set & getProperty()

Ich hab folgenden Test gemacht: Bildmodule 2x angelegt um zu testen ob "set und getProperty" funktioniert. Beim Speichern bzw. Übernehmen erschien folgende Fehlermeldung:

Warning: you have to take care to provide escaped values for your where-string in file "/home/kundeebm/redaxo.dev22.eu/redaxo/src/addons/structure/plugins/content/pages/content.inc.php" on line 316! in /home/kundeebm/redaxo.dev22.eu/redaxo/src/core/lib/sql.php on line 395

Im Frontend wird das javascript nur beim ersten Block ausgegeben, so wie es sein sollte. Nur beim Speichern taucht der Fehler auf. Hier der Module Code:

<?php

// if is_prev_a_galery nothing get the javascript
if(rex::getProperty('is_prev_a_galery') == '')
{
?>
<script type="text/javascript">
var GB_ROOT_DIR = "<?php echo rex_path::media(); ?>";
</script>
<script type="text/javascript" src="<?php echo rex_path::media('ajs.js'); ?>"></script>
<script type="text/javascript" src="<?php echo rex_path::media('ajs_fx.js'); ?>"></script>
<script type="text/javascript" src="<?php echo rex_path::media('gb_scripts.js'); ?>"></script>
<link type="text/css" href="<?php echo rex_path::media('gb_styles.css'); ?>" rel="stylesheet" />

<?php
}
?>

<div class="galerie">

<?php

$pics_string = "REX_MEDIALIST[1]";
if($pics_string != '')
{
  $i = 1;
  $pics = explode(',',$pics_string);

  foreach($pics as $pic)
  {
    echo '<div class="image">';

    $title = '';
    if ($file = rex_ooMedia::getMediaByFileName($pic)) $title = $file->getTitle();

    echo '<a href="'.rex_path::media($pic).'" rel="gb_imageset[galerieREX_SLICE_ID]">
    <img src="'.rex_path::frontendController().'?rex_img_type=gallery_overview&rex_img_file='.$pic.'" title="'.$title.'" alt="'.$title.'" /></a>';

    echo '<p>'.$title.'</p>';
    echo '</div>';

    if($i % 2 == 0)
      echo '<div class="clearer"></div>';

    $i++;  
  }
}

// get info is_prev_a_galery is true
rex::setProperty('is_prev_a_galery','true');

?></div>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.