Contao-Camp 2024
Ergebnis 1 bis 14 von 14

Thema: RockSolid Custom Elements: Dateien zum Herunterladen bereitstellen

  1. #1
    Contao-Fan Avatar von jenda
    Registriert seit
    20.06.2009.
    Ort
    Berlin
    Beiträge
    484

    Standard RockSolid Custom Elements: Dateien zum Herunterladen bereitstellen

    Hallo,

    ich habe in der Konfigurationsdatei folge Angaben

    PHP-Code:
    'document' => array(
                            
    'label' => array('Datei zum Herunterladen'''),
                            
    'inputType' => 'fileTree',
                            
    'eval' => array(
                            
    'fieldType' => 'radio',
                            
    'filesOnly' => true,
                            
    'extensions' => \Config::get('allowedDownload'),
                            
    'isDownloads'=> true,
                            
    'tl_class' => 'w50'),
                        ), 
    und in der Template diese.

    PHP-Code:
    <a href="{{file::<?= $box->document ?>}}" title="<?= $box->linkLabel ?>"><span class="fa fa-download"></span><span class="link-label"><?php echo $box->linkLabel ?></span></a>
    Allerdings werden die Dateien ohne Suffix heruntergeladen, obwohl die im Link damit stehen, und damit können sie nicht geöffnet werden, ohne dass man Nachhinein die Endung wieder manuell hinzufügt.

    Weiß jemand, wie ich das hinbekommen kann? Für jeden Ratschlag wäre ich sehr dankbar.

    Liebe Grüße,

    Jan

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.879
    Partner-ID
    10107

    Standard

    Mit den RSCE oder Contao hat das nichts zu tun, da muss wohl eine Einstellung des Web Servers dafür verantwortlich sein.

  3. #3
    Contao-Fan Avatar von jenda
    Registriert seit
    20.06.2009.
    Ort
    Berlin
    Beiträge
    484

    Standard

    Ok, ich habe noch den Code in der Template verbessert. Ich habe mir den Link im Download-Element angeschaut und eigentlich muss davor immer die URL und file?= stehen. Trotzdem funktioniert es nicht. Weiß jemand, was und wo ich einstellen muss, damit es funkt?

    PHP-Code:
    <a href="{{env::request}}?file={{file::<?= $box->document ?>}}" title="<?= $box->linkLabel ?>">

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.879
    Partner-ID
    10107

    Standard

    Zitat Zitat von jenda Beitrag anzeigen
    Ok, ich habe noch den Code in der Template verbessert. Ich habe mir den Link im Download-Element angeschaut und eigentlich muss davor immer die URL und file?= stehen. Trotzdem funktioniert es nicht. Weiß jemand, was und wo ich einstellen muss, damit es funkt?
    Das geht nur mit einem Download(s) Inhaltselement. Mit einem RSCE müsstest du dir die Logik dieses Inhaltselements selbst nachbauen, was jedoch nicht besonders schwierig ist.

    Ich würde an deiner Stelle trotzdem nachforschen, warum direkte Datei Links ohne Extension runtergeladen werden wollen.

  5. #5
    Contao-Fan Avatar von jenda
    Registriert seit
    20.06.2009.
    Ort
    Berlin
    Beiträge
    484

    Standard

    Danke. Wo muss ich die dann nachbauen? Direkt in das RSCE oder in meine Template?

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.879
    Partner-ID
    10107

    Standard

    Einfach in dein rsce_….html5 Template. Dort überprüfst du auf den file GET Parameter und überprüfst weiters, ob die angeforderte Datei die selbe ist, wie im RSCE angegeben wurde. Wenn ja, dann lässt du die Datei an den Browser senden.

  7. #7
    Contao-Fan Avatar von jenda
    Registriert seit
    20.06.2009.
    Ort
    Berlin
    Beiträge
    484

    Standard

    Danke.

    Etwa so?

    PHP-Code:
    <?php if ($box->document): ?>
        <?php $file = \Input::get('file'true);
            
    // Send the file to the browser and do not send a 404 header (see #4632)
            
    if ($file != '' && $file == $objFile->path)
            {
                \
    Controller::sendFileToBrowser($file);
            }
            
    ?>
        <a href="{{env::request}}?file={{file::<?= $box->document ?>}}" title="<?= $box->linkLabel ?>">
        <?php endif ?>

  8. #8
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.879
    Partner-ID
    10107

    Standard

    Ich glaube nicht, dass das funktionieren wird. Oder hast du dir irgendwo vorher das $objFile geholt?

  9. #9
    Contao-Fan Avatar von jenda
    Registriert seit
    20.06.2009.
    Ort
    Berlin
    Beiträge
    484

    Standard

    nein

  10. #10
    Contao-Fan Avatar von jenda
    Registriert seit
    20.06.2009.
    Ort
    Berlin
    Beiträge
    484

    Standard

    Danke.

    Könnte das mit diesem Code funktionieren?

    PHP-Code:
    <?php if ($box->document): ?>
        <?php 
            $objFile 
    = \FilesModel::findByUuid($box->document);
            
    $file = \Input::get('file'true);
            
    // Send the file to the browser and do not send a 404 header (see #4632)
            
    if ($file != '' && $file == $objFile->path)
            {
                \
    Controller::sendFileToBrowser($file);
            }
            
    ?>
        <a href="{{env::request}}?file={{file::<?= $box->document ?>}}" title="<?= $box->linkLabel ?>">
        <?php endif ?>

  11. #11
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.879
    Partner-ID
    10107

    Standard

    Sollte funktionieren. Hast du es noch nicht getestet?

  12. #12
    Contao-Fan Avatar von jenda
    Registriert seit
    20.06.2009.
    Ort
    Berlin
    Beiträge
    484

    Standard

    Leider funkt es immer noch nicht. Siehe http://www.rabbiwolff.com/de/#download

  13. #13
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.879
    Partner-ID
    10107

    Standard

    Zitat Zitat von jenda Beitrag anzeigen
    Leider funkt es immer noch nicht. Siehe http://www.rabbiwolff.com/de/#download
    Funktioniert einwandfrei

  14. #14
    Contao-Fan Avatar von jenda
    Registriert seit
    20.06.2009.
    Ort
    Berlin
    Beiträge
    484

    Standard

    jetzt ja. Komisch, vorher nicht. Vielen lieben Dank für deine Hilfe. Wie immer toll.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •