Menzioni in popup

Aperto da berethor, Venerdì - 20 Settembre 2019 - 16:45

0 Utenti e 1 Visitatore stanno visualizzando questa discussione.

berethor

Ho visto tra le opzioni delle menzioni la possibilità di attivare le notifiche desktop. Forse sono ignorante io, ma non dovrebbero consistere in un popup? Perché in quel caso non mi funziona: attivazione o meno non ricevo alcuna notifica, fatta eccezione per l'icona accanto al pulsante nel menu in alto.

emanuele

Le notifiche desktop sono quelle che appaiono nel sistema di notifica del desktop stesso, ma solo se il browser è aperto e almeno una tab da qualche parte ha la pagina in questione (una qualunque del forum) aperta.
Se in quelle condizioni, ad esempio, qualcuno ti menziona, allora dovresti vedere una notifica tra quelle del tuo sistema operativo.

berethor

Capito.
Se non mi sbaglio la possibilità di attivare dei popup per pm è menzioni non c'è, giusto? Ho guardato su Google come fare per la creazione dei popup è ho trovato istruzione per html, css e javascript. Tuttavia per fare in modo che il popup appaia con pm o menzioni dovrei modificare il file del template, giusto?

emanuele

Stiamo sempre parlando delle notifiche desktop con "popup"?

berethor

No. Quello che vorrei è un popup personalizzabile come stile e posizionamento che appaia nel forum.

emanuele

Ok. Allora inizia con l'andare nel profilo ed abilitare il popup per i nuovi messaggi.
Quindi puoi modificare in themes\default\Theme.php:
addInlineJavascript('
$(function() {
new smc_Popup({
heading: ' . JavaScriptEscape($txt['show_personal_messages_heading']) . ',
content: ' . JavaScriptEscape(sprintf($txt['show_personal_messages'], $context['user']['unread_messages'], $scripturl . '?action=pm')) . ',
icon: \'i-envelope\'
});
});', true);

in per esempio:
þ[c
in per esempio:
addInlineJavascript('
$(function() {
new smc_Popup({
heading: ' . JavaScriptEscape($txt['show_personal_messages_heading']) . ',
content: ' . JavaScriptEscape(sprintf($txt['show_personal_messages'], $context['user']['unread_messages'], $scripturl . '?action=pm')) . ',
custom_id: \'mycustompm\',
icon: \'i-envelope\'
});
});', true);


Ed a questo punto, poi, in un file css (direi custom.css per comodità) puoi usare l'id "mycustompm" per cambiare l'aspetto del popup.
#mycustompm {...}
#mycustompm .whatever {...}

berethor

Mh. Non sono riuscito a fare nulla. Intanto posto ciò che ho scritto nel file .css


#mycustompm .whatever {
float: right
background: red;
color: yellow;
width: 400px;
height: 100px;
position: absolute;
display: inline-block;
content: "i am error";
}


Il mio scopo sarebbe di ottenere un riquadro rosso in alto a destra con dentro una scritta, ma non è apparso assolutamente nulla. Potrei essermi lasciato sfuggire qualcosa tra le regole del CSS o devo aggiungere ulteriori modifiche al codice PHP?

L'obiettivo finale era di avere popup sia per i pm che per le menzioni, ma specifico che se questo richiede modifiche PHP preferisco rinunciare e non farti perdere ulteriore tempo. Mal che vada la propongo come nuova funzione per le versioni future di ElkArte.

emanuele

Beh, se non hai fatto anche le altre modifiche che ti ho detto, aggiungere quel css non serve a niente.

berethor

No no, ho fatto tutto. Solo che mi pare di aver capito che si tratta di qualcosa che nessuno ha mai richiesto, quindi dovremmo fare delle prove sul codice PHP e/o verificare che non ci siano errori nelle regole del CSS e la cosa porterebbe via tempo a entrambi per una funzione che potrebbe essere parte integrante del forum in futuro.

E poi l'idea di andare a pasticciare il codice PHP manualmente mi fa venire i brividi, lo ammetto >:(

Flavio93Zena


emanuele

Beh, non è che mi ricordo quale sia la classe corretta... :P
Il whatever va cambiato con il nome della classe css che deve essere modificata.

berethor

Citazione di: emanuele il Martedì - 31 Dicembre 2019 - 15:33
Beh, non è che mi ricordo quale sia la classe corretta... :P
Il whatever va cambiato con il nome della classe css che deve essere modificata.
Ma porc... pensavo significasse che si poteva mettere il nome che si voleva.
Quindi, ipotizzando che io voglia un popup per le menzioni identico a quello generato quando si riceve un MP, dovrei sostituire mycustompm e whatever con id e classi corrispondenti, giusto?

emanuele

#mycustompm è giusto perché è quello specificato nel blocco php appena sopra.
.whatever deve essere cambiato con la classe che si vuole cambiare.

Discussioni simili (3)