2012-11-03 14 views
6

Pod EE 1 udało mi się zhakować źródło, aby umożliwić mi zachowanie tytułów z adresami URL z dokładnym opisem tytułu. Oznacza to, że udało mi się powstrzymać go od wymuszania na pisaniu małych liter adresów URL.Zachowanie tytułu tytułu w ExpressionEngine?

Muszę powtórzyć to samo zachowanie w EE 2, ale nie radzę sobie jak dotąd.

co zrobiłem do tej pory to:

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\-\._] 

Nie wiem na pewno, jeśli wszystkie te zmiany były rzeczywiście potrzebne, ale myślę, że tak. Wygląda na to, że zmiany w mod.channel_standalone.php powinny zająć się przesyłaniem za pośrednictwem samodzielnego formularza zgłoszeniowego, a zmiany w EE_url_helper.php powinny zajmować się zwykłymi księgowaniami.

To prawie robi, z wyjątkiem URL na żywo. Adres URL wygenerowany podczas wpisywania tytułu jest generowany małymi literami. Jednak jeśli usunę go przed zapisaniem postu, zapisuje go w tym samym przypadku w tytule adresu URL jako tytuł. Przynajmniej robi to przez większość czasu. Czasami jest on zapisywany przy użyciu pisanego małymi literami adresu URL.

Jeśli ktoś mógłby mi powiedzieć, jak uzyskać adres URL na żywo do współpracy, byłbym bardzo wdzięczny.

+0

które żyją tytuł url jest javascript rzeczą, z przyzwoitą edytora tekstu można wyszukiwać przez cały katalog EE lub tematów. – GDmac

+0

Robię to dokładnie, ale musi być coś, czego nie łapię. Szukałem instancji a-z09, strtolower i NewText.toLowerCase, ale nie znalazłem więcej instancji niż powyższy wygląd, który wygląda na trafny. Znalazłem coś w katalogu codeigniter (inna funkcja url pomocnika), ale edycję, która nie miała żadnego efektu. Jeśli jest to zrobione przez javascript, czy istnieje jakaś standardowa klasa, którą można wyszukać? –

+0

Och, po prostu zobaczyłem, że sugerujesz również wyszukiwanie tematów. Dziękuję, przeoczyłem to. Sprawdzę! –

Odpowiedz

5

To się dzieje w themes/javascript/compressed/jquery/plugins/ee_url_title.js.

To może być trochę trudne do znalezienia, ponieważ Javascript jest skompresowany, ale wyrażenie będzie chcesz edytować to: a = (k + a).toLowerCase().replace(d, c);

+0

Dziękuję. :) Widzę, że w tym samym skrypcie znajduje się również sekcja, w której nazwa a-z09 jest poprawna. Czy powinienem też dodać A-Z, czy nie jest to konieczne? –