2012-11-03 10 views
6

In EE 1, sono stato in grado di hackerare il codice sorgente per consentirmi di conservare i titoli di URL con il caso esatto del titolo. Cioè, sono stato in grado di impedirmi di forzare tutti i titoli di URL in lettere minuscole.Preservare il caso di un titolo in ExpressionEngine?

Ho bisogno di replicare lo stesso comportamento su EE 2, ma non sto gestendo abbastanza finora.

Quello che ho fatto finora è questo:

In <system>/expressionengine/modules/channel/mod.channel_standalone.php: 

commented out this line: NewText = NewText.toLowerCase(); 

added “A-Z” to this line: NewText = NewText.replace(/[^a-z0-9-_]/g,’‘); 

In <system>/expressionengine/helpers/EE_url_helper.php: 

removed strtolower() from this section: 

    if ($lowercase === TRUE) 
    { 
    $str = strtolower($str); 
    } 

added “A-Z” to this line: [^a-z0-9\-\._] 

non so per certo se tutti questi cambiamenti sono stati effettivamente bisogno, ma credo di sì. A giudicare da ciò, le modifiche a mod.channel_standalone.php dovrebbero occuparsi di qualsiasi invio tramite un modulo di iscrizione autonomo e le modifiche a EE_url_helper.php dovrebbero occuparsi di post regolari.

Lo fa quasi, ad eccezione dell'URL live. L'URL generato mentre scrivo un titolo viene generato in minuscolo. Tuttavia, se lo elimini prima di salvare il post, salva il post con lo stesso caso nel titolo dell'URL come titolo. Almeno, lo fa la maggior parte del tempo. A volte, viene salvato con l'url minuscolo.

Se qualcuno potrebbe essere in grado di dirmi come ottenere il titolo dell'URL live per cooperare, sarei molto grato.

+0

che vivono titolo URL è una cosa javascript, con un editor di testo decente è possibile cercare attraverso l'intero EE o la directory dei temi. – GDmac

+0

Ho fatto esattamente questo, ma ci deve essere qualcosa che non sto catturando. Ho cercato istanze di a-z09, strtolower e NewText.toLowerCase ma non ho trovato più istanze del look sopra che sembrano rilevanti. Ho trovato qualcosa nella directory codeigniter (un'altra funzione di url helper), ma la modifica non ha avuto alcun effetto. Se è fatto da un javascript, ci sarebbe qualche tipo di classe standard che si possa cercare? –

+0

Oh doh, ho appena visto che hai suggerito anche la ricerca di temi. Grazie, l'avevo trascurato. Controllerò! –

risposta

5

Questo sta accadendo in themes/javascript/compressed/jquery/plugins/ee_url_title.js.

Può essere un po 'difficile da trovare dal momento che il Javascript è compresso, ma l'espressione si vuole modificare è: a = (k + a).toLowerCase().replace(d, c);

+0

Grazie. :) Vedo che nella stessa sceneggiatura, c'è anche una sezione che menziona a-z09 come caratteri validi. Dovrei aggiungere anche A-Z o non è necessario? –

Problemi correlati