alaAnimateBT - eigenes Bild hochladen wird nicht angezeigt

Begonnen von lenzen24, 17 März 2023, 20:29:11

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

lenzen24

Hallo,

ich benötige mal eure Hilfe. Ich nutze das Theme alaAnimateBT mit PragmaMx 2.5.1 und PHP7
Wenn ich meinen Account bearbeiten möchte und ein Profilbild wählen möchte, dann kann ich zwar anklicken ein eigenes Bild zu verwenden, aber weder der Hinweistext auf die erlaubte Bildgröße noch der Auswahlbutton um ein Bild hochzuladen werden mir angezeigt. Mit anderen Themes funktioniert es aber. Ich finde den Fehler nicht.
Alles andere mit diesem Theme funktioniert wunderbar.
Vielleicht hat jemand eine Idee wo zu suchen ist oder was dort im Theme fehlt.

Gruß
Sascha

alaniso

Hallo Sascha,

das Problem liegt in der redefinierten CSS-class von dem verwendeten bootstrap Framework. Hier gibt es eine style-class "hide", welche die Elemente im Sinne von bootstrap "versteckt".

Beim Benutzerbild arbeitet pragmaMX auch mit dieser Klasse und steuert das Ein/Ausblenden über jQuery mit der Funktion .show().

Dabei wird die Klasse aber nicht gelöscht und bleibt somit für bootstrap bestehen - die Elemente werden somit nicht eingeblendet.

Lösung: um die Elemente mit jQuery einzublenden, muss zur Funktion .show() noch eine Funktion .removeClass('hide') auf die entsprechenden Objekte ausgeführt werden. Die Änderungen sind mit dem Kommentar /* neu für alaAnimateBT */ markiert!

Hier die Anpassung für die Datei (pmx251) modules/Your_Account/templates/edituser.photo.html:

<script type="text/javascript" charset="utf-8">
  $(document).ready(function() {

    //var choice = $('input[name="upic-choice"]');
...

<?php if($this->pic_allowed_upload): ?>
    /* ajax upload 1 */
    var button = $('#upic-upload-button'),
      interval;
    new AjaxUpload(button, {
      action: 'modules.php?name=Your_Account&file=upicajaxupload',
      name: 'upload',

      onSubmit: function(file, ext) {

        if (! (ext && /^(<?php echo implode('|'$this->userpic->endings?>)$/.test(ext.toLowerCase()))) {
          // extension is not allowed
          alert('<?php echo addslashes(mxHtmlEntityDecode(_UPIC_JS_INVALIDEXTENSION)) ?> .' + ext);
          // cancel upload
          return false;
        }

        // change button text, when user selects file
        button.text('<?php echo addslashes(_UPIC_JS_UPLOADING?>');

        // If you want to allow uploading only 1 file at time,
        // you can disable upload button
        this.disable();

        // Uploding -> Uploading. -> Uploading...
        interval = window.setInterval(function() {
          var text = button.text();
          if (text.length < <?php echo $dyna ?>) {
            button.text(text + '.');
          } else {
            button.text('<?php echo addslashes(_UPIC_JS_UPLOADING?>');
          }
        },
        200);
      },
      onComplete: function(file, response) {
        button.text('<?php echo addslashes(_UPIC_JS_UPLOAD?>');

        window.clearInterval(interval);

        // enable upload button
        this.enable();

        $('#upic-upload-response').html(response);
        $('#upic-choice-uploaded').attr('checked', true);

        if (response.indexOf("<img ") == -1){
          $('#upic-upload-delete').hide();
        }else{
          $('#upic-upload-delete').show();
          $('#upic-upload-delete').removeClass('hide');  /* neu für alaAnimateBT */
        }
      }
    });

...
 
    $('#upic-upload, #upic-upload-response').show();
    $('#upic-upload, #upic-upload-response').removeClass('hide');  /* neu für alaAnimateBT */
<?php if($uploadedpic): ?>
    $('#upic-upload-delete').show();
    $('#upic-upload-delete').removeClass('hide');  /* neu für alaAnimateBT */
<?php endif; /* $uploadedpic */ ?>
<?php endif; /* $this->pic_allowed_upload */ ?>


    $('noscript').hide();

  });

...
</script>

Viele Grüße,
André



lenzen24

Moin Andre,
vielen herzlichen Dank für die schnelle Antwort.
Das hat Super geklappt. Mein Editor hat mir verraten das ich sogar an der richtigen Stelle war  :puzzled:
Jedenfalls kann das Thema als gelöst markiert werden.
Gruß
Sascha