• Каким образом поместить изображение в контейнер, что бы при увеличении ширины и высоты оно оставалось на месте?

    glem1337
    @glem1337 Автор вопроса
    спасибо, но мне нужно что бы контейнер был спозиционирован относительно рабочей области(ограничивающей ширины), и что бы в блоке можно было иметь скрытые елементы будто при разворачивании они уже существуют. Обновил вопрос.
  • Как обойти граф не зацикливаясь на связи одного узла с другим?

    glem1337
    @glem1337 Автор вопроса
    wataru, спасибо большое! Конечный вариант выполненной задачи https://codesandbox.io/s/electricity-4it7g?file=/s... . Может кому-то пригодится.
  • Как обойти граф не зацикливаясь на связи одного узла с другим?

    glem1337
    @glem1337 Автор вопроса
    wataru,
    В каждом множестве поддерживайте счетчик активных электростанций (изначально у домов - 0, у электростанций - 1).

    А зачем у электростанций? Электростанции не присоединяются друг к другу.

    у вас есть какой-то массив ссылок root, элеметы которого указывают сами на себя только в корне множества.

    Совсем не понятен этот момент. Какого именно множества должен быть массив ссылок, предположительно массив Домов? И где он должен хранится, в классе World? То есть это должен быть массив, где ключ это айди дома, а значение это массив присоединенных к нему домов?

    Заведите второй массив, который будет по тем же индексам хранить счетчики для элементов.
    Я правильно понял, что подразумевается создание массива в классе World, где ключ это айди дома, а значение это кол-во активных станций?

    При добавлении провода вы должны слить 2 множества.
    Имеется ввиду присоединение дома к дому? Надо объединить два массива электростанций подключенных к этим домам?

    При запросе на статус дома возьмите счетчик активных станций для его множества и проверьте, что он положителен.
    Так и сделал. Работает.
    householdHasEletricity(householdID) {
        const household = this.households.get(householdID);
    
        return household.getActivePowerPlants() > 0;
      }


    При выключении/включении электростанции измените счетчик соответствующего множества на +1 или на -1.
    Сделал. Однако теперь отключается только те дома, которые были напрямую подключены к станции, так как в объекте станции доступны только дома с прямым подключением.

    killPowerPlant(powerPlantID) {
        const powerPlant = this.powerPlants.get(powerPlantID);
        const connectedHouseholds = powerPlant.getConnectedHouseholds();
    
        if (powerPlant.getActiveStatus()) {
          connectedHouseholds.forEach(householdID => {
            const household = this.households.get(householdID);
            household.decrementActivePowerPlants();
          });
    
          powerPlant.setActiveStatus(false);
        }
      }
    
      repairPowerPlant(powerPlantID) {
        const powerPlant = this.powerPlants.get(powerPlantID);
        const connectedHouseholds = powerPlant.getConnectedHouseholds();
    
        if (!powerPlant.getActiveStatus()) {
          connectedHouseholds.forEach(householdID => {
            const household = this.households.get(householdID);
            household.incrementActivePowerPlants();
          });
    
          powerPlant.setActiveStatus(true);
        }
      }


    Посмотрите, пожалуйста на текущую реализацию https://codesandbox.io/s/electricity-4it7g?file=/s... . Правильно ли я реализовал хотя бы часть алгоритма?

    Сейчас проходит все тесты, кроме последнего:
    describe("Households + Households + Power Plants", function() {
      it("2 Households + 1 Power Plant", () => {
        const world = new World();
    
        const household1 = world.createHousehold();
        const household2 = world.createHousehold();
        const powerPlant = world.createPowerPlant();
    
        world.connectHouseholdToPowerPlant(household1, powerPlant);
        world.connectHouseholdToHousehold(household1, household2);
    
        assert.equal(world.householdHasEletricity(household1), true);
        assert.equal(world.householdHasEletricity(household2), true);
    
        world.killPowerPlant(powerPlant);
    
        assert.equal(world.householdHasEletricity(household1), false);
        assert.equal(world.householdHasEletricity(household2), false); // тут все еще true, так как дом питался от дома
      });
    });
  • Как обойти граф не зацикливаясь на связи одного узла с другим?

    glem1337
    @glem1337 Автор вопроса
    Вам обязательно отвечать на вопрос об электричесвте в конкретном доме по мере добавления ребер/вершин в граф?

    Да, условие задачи не изменять тесты и публичный интерфейс класса World
  • Как реализовать уникальный индекс сортировки товара в разделе?

    glem1337
    @glem1337 Автор вопроса
    PetrPo, да, только товары должны принадлежать текущему разделу
  • Как реализовать уникальный индекс сортировки товара в разделе?

    glem1337
    @glem1337 Автор вопроса
    Спасибо за ответ! Возможно я некорректно задал вопрос но, у меня проблема именно в том, как лучше вывести список товаров на странице редактирования раздела в админке. Клиент хочет управлять сортировкой товаров для каждого раздела отдельно, и прямо на странице редактирования раздела.
  • Как реализовать уникальный индекс сортировки товара в разделе?

    glem1337
    @glem1337 Автор вопроса
    Спасибо за ответ! Тоже пригодиться. Однако, у меня проблема именно в том, как лучше вывести список товаров на странице редактирования раздела в админке
  • Как реализовать уникальный индекс сортировки товара в разделе?

    glem1337
    @glem1337 Автор вопроса
    PetrPo,
    В чем подввох не пойму? зашел в раздел, проставил в товарах сортировку, в компоненте установил

    подвох в том, что список товаров должен выводится прямо на странице редактирования раздела в админке, и для одного и того же товара в разных разделах, должны быть разные значения сортировки

    Это вообще странная мысль. Зачем тебе пользовательское свойство, если ты хочешь какие-то запросы в БД делать, то чем тебя ID раздела не устраивает?

    пользовательское поле будет здесь не "способом", а "результатом", и выборку товаров я буду делать по ID раздела, да.

    Доп. поле ввода для индекса напротив названия товара - именно напротив? можешь картинку нарисовать?

    ну не обязательно напротив. По сути должна быть таблица, где в каждой строке по 2 ячейки: 1 – название товара, 2 – input в который вводим числовое значение сортировки для данного раздела.
  • Undefined index в массиве из выборки PDO?

    glem1337
    @glem1337 Автор вопроса
    Андрей, скопировал себе в редактор, и артефактов не обнаружил. Я кажется понял в чем проблема, названия полей я копировал из pdf файла из описания задачи и вставлял в pma, и визуально все ок, но есть проблема. Если ввести название поля вручную, то проблема уходит. Спасибо за помощь и терпение!

    грустный тромбон
  • Undefined index в массиве из выборки PDO?

    glem1337
    @glem1337 Автор вопроса
    Андрей, ничего криминального я не скрываю, я просто убрал запрос который получает изображения из другой таблицы, он просто добавляет в результирующий массив $hero массив изображений.
    $hero_images = $pdo->prepare('SELECT path FROM photos WHERE id_hero = :id');
    		$hero_images->execute(['id' => $hero['id']]);
    		$hero_images = $hero_images->fetchAll();
    
    		$hero['images'] = $hero_images;


    Если выполняю только это:
    $pdo = Database::DataBaseConnect();
    
    		$hero = $pdo->prepare('SELECT * FROM heroes WHERE nickname = :nickname');
    		$hero->execute(['nickname' => $nickname]);
    		$hero = $hero->fetch();
    		var_dump($hero);
    		var_dump($hero['real_name']);  // и вот тут "undefined" ?
    		die();


    То получаю это:

    array(6) { ["id"]=> int(1) ["nickname"]=> string(8) "Superman" ["real_name​"]=> string(10) "Clark Kent" ["origin_description​"]=> string(158) "he was born Kal-El on the planet Krypton, before being rocketed to Earth as an infant by his scientist father Jor-El, moments before Krypton's destruction..." ["superpowers"]=> string(109) "​solar energy absorption and healing factor, solar flare and heat vision, solar invulnerability, flight..." ["catch_phrase"]=> string(68) "“Look, up in the sky, it's a bird, it's a plane, it's Superman!”" }
    Notice: Undefined index: real_name in C:\OSPanel\domains\superheroes\application\models\model_hero.php on line 15
    NULL
  • Undefined index в массиве из выборки PDO?

    glem1337
    @glem1337 Автор вопроса
    FanatPHP,

    Код:
    <?php 
    	var_dump($data);
    	?>
    
    	<?php 
    	var_dump($data['real_name']);
    	?>


    Результат:
    array(6) {
      ["id"]=>
      int(1)
      ["nickname"]=>
      string(8) "Superman"
      ["real_name​"]=>
      string(10) "Clark Kent"
      ["origin_description​"]=>
      string(158) "he was born Kal-El on the planet Krypton, before being rocketed to
    Earth as an infant by his scientist father Jor-El, moments before Krypton's destruction..."
      ["superpowers"]=>
      string(109) "​solar energy absorption and healing factor, solar flare and heat vision,
    solar invulnerability, flight..."
      ["catch_phrase"]=>
      string(68) "“Look, up in the sky, it's a bird, it's a plane, it's Superman!”"
    }
    	
    
    Notice:  Undefined index: real_name in C:\OSPanel\domains\superheroes\application\views\hero_edit_view.php on line 11
    
    NULL
  • Undefined index в массиве из выборки PDO?

    glem1337
    @glem1337 Автор вопроса
    FanatPHP, мне показалось что весь код тут избыточен

    Класс контроллера:
    <?php
    
    class Controller_Hero extends Controller
    {
    	function __construct()
    	{
    		$this->model = new Model_Hero();
    		$this->view = new View();
    	}
    	
    	function action_index()
    	{
    			
    	}
    
    	function action_view($nickname)
    	{
    		$data = $this->model->get_hero($nickname);
    		$this->view->generate('hero_view.php', 'template_view.php', $data);
    	}
    
    	function action_edit ($nickname) {
    		$data = $this->model->get_hero($nickname);
    		$this->view->generate('hero_edit_view.php', 'template_view.php', $data);
    	}
    
    	function action_save ($nickname) {
    		$data = $this->model->save_hero($nickname);
    		$this->view->generate('hero_edit_view.php', 'template_view.php', $data);
    	}
    }
    ?>


    Класс модели:
    <?php
    
    class Model_Hero extends Model
    {
    	
    	public function get_hero($nickname)
    	{
    
    		$pdo = Database::DataBaseConnect();
    
    		$hero = $pdo->prepare('SELECT * FROM heroes WHERE nickname = :nickname');
    		$hero->execute(['nickname' => $nickname]);
    		$hero = $hero->fetch();
    
    
    		$pdo = null;
    		return $hero;
    	}
    
    	}


    вьюха:
    <pre>
    	<?php 
    	var_dump($data['real_name']);
    	?>
    </pre>


    Класс подключения К БД:
    <?php
    
    class Database {
    
    	static public function DataBaseConnect()
    	{
    		$host = 'localhost';
    		$user = 'root';
    		$pass = '';
    		$db = 'superheroes';
    		$charset = 'utf8';
    
    		$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
    		$opt = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
    			PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    			PDO::ATTR_EMULATE_PREPARES   => false);
    
    		$pdo = new PDO($dsn, $user, $pass, $opt);
    
    		return $pdo;
    	}
    
    }
  • Undefined index в массиве из выборки PDO?

    glem1337
    @glem1337 Автор вопроса
    Дмитрий, я получаю через fetch, а не через fetchAll, но так тоже пробовал, не работает
  • Undefined index в массиве из выборки PDO?

    glem1337
    @glem1337 Автор вопроса
    Андрей,
    <?php 
             //если вывожу вот так, то ошибка
    	var_dump($data['real_name']);
            // если так, то выводит
           var_dump($data);
    	?>


    array(6) {
      ["id"]=>
      int(1)
      ["nickname"]=>
      string(8) "Superman"
      ["real_name​"]=>
      string(10) "Clark Kent"
      ["origin_description​"]=>
      string(158) "he was born Kal-El on the planet Krypton, before being rocketed to
    Earth as an infant by his scientist father Jor-El, moments before Krypton's destruction..."
      ["superpowers"]=>
      string(109) "​solar energy absorption and healing factor, solar flare and heat vision,
    solar invulnerability, flight..."
      ["catch_phrase"]=>
      string(68) "“Look, up in the sky, it's a bird, it's a plane, it's Superman!”"
    }
  • Undefined index в массиве из выборки PDO?

    glem1337
    @glem1337 Автор вопроса
    seeklay, Undefined index: origin_description in C:\OSPanel\domains\superheroes\application\views\hero_edit_view.php
  • Как правильно генерить посадки(разделы) каталога на битрикс?

    glem1337
    @glem1337 Автор вопроса
    Ярослав Александров,
    - какие задачи вы хотите решить этим скриптом?

    Генерация посадок(разделов каталога) из файла csv или xml

    - чем ваш seo отдел формировать будет

    пока что вручную. с формированием проблем нет, seo отделу по их словам проблематично вручную через админку создавать такие разделы.