SimplaDeveloper Опубликовано 28 января, 2016 Жалоба Поделиться Опубликовано 28 января, 2016 Случайно удалились url всех товаров (более 400 единиц). Теперь ломаю голову, как одновременно проставить url обратно, без восстановления БД (так как БД очень старая). Помогите Цитата Ссылка на сообщение Поделиться на другие сайты
koteyka Опубликовано 28 января, 2016 Жалоба Поделиться Опубликовано 28 января, 2016 (изменено) Написать скриптик с запросом в базу и функцией транслита. Стукните в скайп, помогу - koteyka-2 Изменено 28 января, 2016 пользователем koteyka Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 28 января, 2016 Жалоба Поделиться Опубликовано 28 января, 2016 Сделать экспорт, потом импорт. URL-ы должны сами сгенерироваться... Цитата Ссылка на сообщение Поделиться на другие сайты
SimplaDeveloper Опубликовано 28 января, 2016 Автор Жалоба Поделиться Опубликовано 28 января, 2016 Экспорт - импорт не помог Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 28 января, 2016 Жалоба Поделиться Опубликовано 28 января, 2016 (изменено) Экспорт - импорт не помог в импорте не должно быть колонки Адрес или она пустая должна быть, тогда автоматом должны сгенерировать новые адреса. попробуйте оба варианта Изменено 28 января, 2016 пользователем mishanya Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 28 января, 2016 Жалоба Поделиться Опубликовано 28 января, 2016 Экспорт - импорт не помогТогдаНаписать скриптик с запросом в базу и функцией транслита. Стукните в скайп, помогу - koteyka-2 Цитата Ссылка на сообщение Поделиться на другие сайты
Решение koteyka Опубликовано 28 января, 2016 Решение Жалоба Поделиться Опубликовано 28 января, 2016 (изменено) Может кому еще понадобится, а импорт/экспорт не поможет.Создать РНР файл в корне сата с текстом <?php require_once('api/Simpla.php'); $simpla = new Simpla(); $filter['limit'] = 10000; $products = $simpla->products->get_products($filter); foreach($products as $product) { $url = translit($product->name); $id = $product->id; $simpla->db->query('UPDATE __products SET url=? WHERE id=?', $url, $id); print $url.'<br>'; } function translit($text) { $ru = explode('-', "А-а-Б-б-В-в-Ґ-ґ-Г-г-Д-д-Е-е-Ё-ё-Є-є-Ж-ж-З-з-И-и-І-і-Ї-ї-Й-й-К-к-Л-л-М-м-Н-н-О-о-П-п-Р-р-С-с-Т-т-У-у-Ф-ф-Х-х-Ц-ц-Ч-ч-Ш-ш-Щ-щ-Ъ-ъ-Ы-ы-Ь-ь-Э-э-Ю-ю-Я-я"); $en = explode('-', "A-a-B-b-V-v-G-g-G-g-D-d-E-e-E-e-E-e-ZH-zh-Z-z-I-i-I-i-I-i-J-j-K-k-L-l-M-m-N-n-O-o-P-p-R-r-S-s-T-t-U-u-F-f-H-h-TS-ts-CH-ch-SH-sh-SCH-sch---Y-y---E-e-YU-yu-YA-ya"); $res = str_replace($ru, $en, $text); $res = preg_replace("/[\s]+/ui", '-', $res); $res = preg_replace('/[^\p{L}\p{Nd}\d-]/ui', '', $res); $res = strtolower($res); return $res; } И выпонить адрес_сайта/имя_файла.рнр Изменено 28 января, 2016 пользователем koteyka Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 28 января, 2016 Жалоба Поделиться Опубликовано 28 января, 2016 Экспорт - импорт не помог Провел маленький эксперимент на стандартной Simpla:1. Выполнил update s_products set url=''. Адреса стали пустыми. 2. Выполнил экспорт. Получил файл, в нем колонка Адрес пустая.3. Выполнил импорт полученного файла, URL-ы заполнились как надо.Все работает... Цитата Ссылка на сообщение Поделиться на другие сайты
koteyka Опубликовано 28 января, 2016 Жалоба Поделиться Опубликовано 28 января, 2016 (изменено) Все работает...Так и есть, работает. Почему не сработало у ТС, я не вникал. Он сказал, что не получилось и всё. Я дал скрипт, он всё поправил. Видимо ковырялись в движке уже. Так же, не совсем понятно, как можно было удалить все урлы, если импорт у ТС на них не влияет. Изменено 28 января, 2016 пользователем koteyka Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.