Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Символьные коды из названия, работа с БД
Покинул форум
Сообщений всего: 4
Дата рег-ции: Июнь 2013
Помог: 0 раз(а)
Доброго времени суток уважаемые коллеги.
Есть пожалуй не простая задача которую я пытаюсь решить. Сайт на bitrix это к сведению.
Так вот в каждой статье и т.п. есть Символьные коды.
На сайте с которым я работаю этих статей более 4000 тысяч, в более чем 200 - 300 штук нет этого символьного кода и поэтому наводя указателем мыши на заголовок статьи указывается адрес не самой статьи а двух слэшей. Пример: nashsite.ru/about/news/novoyi_podvig_gerkulesa/ - так правильно и если тыкнем на ссылку то перейдём на статью. nashsite.ru/about/news// - так не правильно, потому что между двумя последними слэшами нет символьного кода, так как он отсутствует в свойствах статьи.
Дак вот, перепахивать все 4000 статей в ручную это ******* как долго. Что бы найти и дописать этот код.
Я решил написать скрипт который просмотрит эти статьи и проверит на наличие этого символьного кода, и если его там нет то он транслитирирует из русского названия в символьный код на латинице нижнего регистра.
Единственное, что я сообразил как из бд вывести таблицу ну и в скрипт воткнул транслит, но что дальше делать не понимаю, но знаю, что нужно дописать чтобы осуществил выше написанную работу - проверил, транслитнул, записал.
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
что бы не перепахивать базу, просто модифицируйте функцию вывода этих адресов. логика та же: есть алиас - пишем его, нет - пишем транслитерированное название. Заодно и в будущем, когда забудут указать алиас, все буде работать.
Можно здесь же записывать транслитерированный алиас в базу, чтоб в следующий раз его сразу брать
----- Чем больше узнаю, тем больше я не знаю.
RAPOS
Отправлено: 13 Июня, 2013 - 19:08:21
Новичок
Покинул форум
Сообщений всего: 4
Дата рег-ции: Июнь 2013
Помог: 0 раз(а)
DelphinPRO пишет:
что бы не перепахивать базу, просто модифицируйте функцию вывода этих адресов. логика та же: есть алиас - пишем его, нет - пишем транслитерированное название. Заодно и в будущем, когда забудут указать алиас, все буде работать.
Можно здесь же записывать транслитерированный алиас в базу, чтоб в следующий раз его сразу брать
Спасибо за совет, но ничего не понял, можете подробно объяснить или код дать если он не большой или даже и большой но готовый, чтобы не писать вам его.????
Возможно я напишу другими словами то, что вы уже написали, но я уже обдумывал над тем, что инфоблок выводит статьи с "символьными кодами" в адресе, дак вот, можно ли к нему дописать фрагмент, чтобы он выводил в адресе "ID" - статьи если у неё нету "Символьного кода". ???
Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010 Откуда: Самара
Помог: 17 раз(а)
DelphinPRO
Не совсем понял вас, конечно я не работал с битриксом, но предполагаю что там статья ищется по транслиту, и если на лету его формировать то в бд нужно тут же записывать его что бы ссылка получилась корректной. RAPOS
Извини как я писал с битрикосм не работал по этому составить запрос на обновление не смогу, увы.
----- Так было, так есть и так будет
RAPOS
Отправлено: 13 Июня, 2013 - 20:40:32
Новичок
Покинул форум
Сообщений всего: 4
Дата рег-ции: Июнь 2013
Помог: 0 раз(а)
[quote=vanicon][/quote]
Да нет, в принципе задача какая.
Делается запрос к бд к таблице "i_block_element" к столбцам "NAME" и "CODE"
Скрипт проверяет столбец NAME на наличие CODE если строка CODE NULL присваивает ей значение транслитирируемое с названия статьи.
То есть обновлял базу хотя бы по 20 значений, чтобы избежать проблем.
То есть это код нужно использовать один раз. (Так глядишь кому-нибудь пригодиться)
RAPOS
Отправлено: 14 Июня, 2013 - 07:09:47
Новичок
Покинул форум
Сообщений всего: 4
Дата рег-ции: Июнь 2013
Помог: 0 раз(а)
И сного тишина... Пожалуйста помогите разобраться.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.