И все это дохнет при кол-ве страниц более 1млн. Все уперлось именно в это.
В любом случае, в один xml файл карты Вы не сможете записать 1 млн ссылок
Я это к тому, что нужно обрабатывать ссылки порциями
Даже если Вы увеличите время выполнения скрипта и снимите ограничение на использование памяти этим скриптом, то он ведь все-равно может израсходовать все ресурсы
у части товаров 80% комбинаций будут совпадать(много товаров у которых из 18 характеристик отличается одна, например стекло прозрачное или матовое, остальное идентично).
Тогда, нужно сначала выделить товары у которых атрибуты совпадают
- Товар 1 : ат1, ат2, ат3
- Товар 2: ат1, ат2, ат3
- Товар 3: ат1, ат2, ат3
Далее, берем один товар из списка, прорабатываем для него все варианты, и пишем в базу ссылку для всех у кого имеется набор ат1, ат2, ат3. Тем самым, вместо одного товара обрабатываем сразу несколько.
Следующим шагом, берем товары, атрибуты которых отличаются
- Товар 1 : ат4, ат5, ат6
- Товар 3: ат9, ат8, ат7
Так же прорабатываем и их.
В данном подходе, сложность будет заключаться в том, чтобы перебрать товары и распределить их в зависимости от наличия атрибутов. Но, если это сделать, тогда будет уходить меньше времени на перебор различных вариаций при формировании ссылок.
Вывести на экран, спустя какое-то время?
Или вывести сразу при отработке приложения? Зачем тогда вообще сохранять информацию на диск (Суть вопроса), если потом мы забудем про эту информацию и не будем больше обращаться к ней?
Можно ведь и сразу вывести на экран ..
создать карту со всеми url - в гугле имеется множество скриптов
----
создать ссылки на товар со всеми возможными комбинациями атрибутов (по 5 шт) - это уже ресурсоемкая операция (нужно определить количество итераций и пр.) алгоритм перестановки слов местами (атрибутов)
----
чтобы не гонять каждый раз запрос в базу, то нужно использовать класс с объектом
т.е.
- создаем объект класса
- берем один товар (все атрибуты)
- прорабатываем все варианты ссылок (переставляем атрибуты)
- каждый новый вариант атрибутов фиксируем в свойство объекта
- когда все варианты ссылок будут готовы, пишем их БД
- убиваем объект класса - освобождаем память
- берем следующий товар и т.д.
таким образом у нас будет таблица бд со всеми ссылками
ну а дальше запускаем скрипт, который уже сформирует xml-файлы карты
ILoveYAnny:
1. Заранее известно какое будет количество элементов, которые хотим подгрузить?
2. Почему нельзя разбить подгрузку на меньшие части, 100/4 ?
3. Источник, откуда подгружаем 100 элементов - быстро отдает по ним информацию?
Вы пытаетесь выйти в интернет - ubuntu -> порты -> виртуалка -> win 7
Соответственно получается, что если виртуалка точно пробросила интернет через свои порты, то возможно ubunta не хочет с ними общаться, т.к. ее фаервол банит работу по этим портам
Нужно узнать по каким портам передается интернет и разрешить убунте работать по ним
Максим:
1. Начнем с того, что Вы спросили "как создать бд без установки спец программ .. "
2. Что такое БД по своей сути? - хранение каких-либо значений с привязкой к ключам (если совсем по простому)
3. Соответственно, сохраняя какую-либо информацию (ключ - значение) в какой-либо файл Вы уже формируете некоторую бд (очень простую)
4. Я предложил формат JSON, т.к. его структуру можно строить как угодно и он легче, чем xml (озвученный ранее)
5. Также, json проще обрабатывать, в большинстве случаев достаточно кодировать и декодировать
diamond: насколько я понял, автор и хочет уйти от разделения методов, т.е. чтобы было не два метода, а один универсальный ..
но, повторюсь, здесь ведь от задачи все зависит ..
можно написать и один универсальный метод, с кучей условий и прочим, но это уже совсем другая история ..
Вячеслав Климов:
в таком случае, при загрузке сайта (страницы) инициализируете js-объект, в котором будет храниться информация о домах и прочем
далее, уже начинаются вопросы верстки и работы с этим объектом
например:
1. имеем несколько картинок домов, каждая со своим ID
2. кликаем на картинку
3. идем в объект
4. находим информацию по дому с кликнутой картинки
5. скрываем картинки с домами
6. отображаем план дома с кликнутой картинки и информацию по нему из объекта
Компонент Включаемая область - просто подключает файл с содержимым там, где расположен компонент
Т.е. нужно найти этот файл и скопировать его в дочерние разделы регулируя контент файла
* На вашем скриншоте файл включаемой области sect_inc.php
* Приоритет у родительской директории
Пример:
- Главная - вкл.область - файл с контентом - все хорошо, отображается
- Раздел 1 - вкл.область - файл Без контента - ничего не отображается
- Раздел 1.1 - вкл.область - ничего не отображается - унаследовано от Раздела 1
- Раздел 2 - вкл.область - все хорошо, отображается, т.к. унаследовано от Главной
myskypesla: ну и не забывайте, что:
1. Vue.js можно подключить к сайту, как отдельный скрипт - будет грузиться постоянно (кеширование немного спасает)
2. Vue.js можно запустить через nodejs - загрузиться лишь один раз при старте сервера (vds)
3. Пересмотрите задачи касаемые js, быть может есть смысл написать пару функций на обычном js, нежели собирать огород из разных фреймворков
Сергей:
1. не факт, что всё в d7 работает быстрее .. (можно сравнить скорость работы старых и новых методов)
2. не на все старые методы апи имеются аналогичные методы в d7 (факт)
3. если имеется опыт, то можно работать напрямую с таблицами бд - здесь, при грамотно составленных запросах - точно будет работать быстрее (* не забывайте про безопасность)
Axian Ltd.: можете поделиться ссылкой, где можно почитать о том, в какой момент начинают шифроваться данные при отправке с любого устройства на сервере, при условии, что на сервере установлен https ?
В любом случае, в один xml файл карты Вы не сможете записать 1 млн ссылок
Я это к тому, что нужно обрабатывать ссылки порциями
Даже если Вы увеличите время выполнения скрипта и снимите ограничение на использование памяти этим скриптом, то он ведь все-равно может израсходовать все ресурсы
Тогда, нужно сначала выделить товары у которых атрибуты совпадают
- Товар 1 : ат1, ат2, ат3
- Товар 2: ат1, ат2, ат3
- Товар 3: ат1, ат2, ат3
Далее, берем один товар из списка, прорабатываем для него все варианты, и пишем в базу ссылку для всех у кого имеется набор ат1, ат2, ат3. Тем самым, вместо одного товара обрабатываем сразу несколько.
Следующим шагом, берем товары, атрибуты которых отличаются
- Товар 1 : ат4, ат5, ат6
- Товар 3: ат9, ат8, ат7
Так же прорабатываем и их.
В данном подходе, сложность будет заключаться в том, чтобы перебрать товары и распределить их в зависимости от наличия атрибутов. Но, если это сделать, тогда будет уходить меньше времени на перебор различных вариаций при формировании ссылок.