Klenkes Posted November 25, 2018 Posted November 25, 2018 A client wants to use landing pages coming from Google ads, and needs to hand over a keyword and a title for the landing page. The URL would look like this: ..../l2/keyword/Funny title with løts of special chåracters änd spaces/ (Just an example) I tried to encode the URL in different ways but not even spaces work and result in a "404 Page not found". Then I found this Github issue: https://github.com/processwire/processwire-issues/issues/720 At least I know that I am not the only one with this kind of problem. The client is a very pragmatic fellow and suggested to custom-encode the segments like: (don't try to read it) ..../l2/keyword/Funny_S_title_S_with_S_l_o1_ts_S_of_S_special_S_ch_a2_racters_ae_nd_S_spaces/ and then replace all the _S_ _a2_ with the REAL characters in the template. Mhh... well... sure I could do that, but I don't like it, and editors would have to write the segments with a translation sheet! Anyone have a better idea? PW 3.0.98 PHP 7.x
kixe Posted November 25, 2018 Posted November 25, 2018 Do you really need it human readable? In this case GET and urlencode() is maybe a safer option. $query = "?keywords=" . urlencode('løts of special chåracters änd'); // "?keywords=l%C3%B8ts+of+special+ch%C3%A5racters+%C3%A4nd" $keywords = urldecode($input->get->keywords); // "løts of special chåracters änd" 2
Klenkes Posted November 30, 2018 Author Posted November 30, 2018 Thanks. The problem is that editors would have to write this in a Google tool?(I don't know...) and I can't urlencode it in a template. Perhaps I write a tool for them or they use an online tool for the encoding. But GET parameter seem the better option. 1
Klenkes Posted November 30, 2018 Author Posted November 30, 2018 Sometimes I wonder how I tie my shows in the morning... thinking way too complicated ? So many years and I love Processwire even more every day! Everything I need is already there. I do it in the backend with two fields(text) and FieldtypeRuntimeMarkup generates urlencode($page->encodekey)) and so on... and the result is the complete URL for the editors to copy. And even a button to test it! $prefix = $page->httpUrl . '?'; $l_key = urlencode($page->encodekey); $l_title = urlencode($page->encodetitle); $gclid = '123456789'; $result = '<textarea rows="5">'.$prefix . 'keyword=' . $l_key . '&title=' . $l_title . '&gclid=' . $gclid . '</textarea>'; return $result; 2
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now