И зачем это все, если уже есть базовый путь в шаблоне (как человек указал)? Темболее '../controller/action' не будет работать, хотябы потому что пути domain.com/siteroot/controller/action/ и domain.com/siteroot/controller/action — это абсолютно разные папки для браузера.
Хотябы отсюда не стоит бросаться с шашкой наголо. Стоит перед работой ознакомиться с инструментом, работа будет в разы эффективней. Изучение методом тыка — худшее что может делать разработчик.
Компьютерный стол как понятие очень даже существует, и выделяется подставками для:
системника
монитора
клавиатуры
+ Цвета можно выбрать любые, так как в основе своей это все же обычный стол. Лично мне предлагали до 30 разных цветов (около 5-10 наименований дерева). При заказе все эти «ненужные» подставки на которые нельзя облакотиться элементарно могут вычеркиваться, обязательного ничего нет.
Это так, к сведению
Да, я видел видео, какой вопрос, такой и ответ. Или ожидалось услышать алгоритм как человек это все провернул? Да, взял создал кучу «мазков» похожих на другие в данной области и двигал каждый в расчитаном направлении некоторое время, затем убивал текущий «мазок» и заменял другим, чтоб вписывался снова в окружение. Чего еще ты ожидал вопросом КАК? Пиксели менял.
Просмотрите в подключенных Вами блогах на хабре откуда брались статьи (обычно оставляют ссылки) подпишитесь на _все_ рессурсы которые найдете, и затем удаляйте по мере ненадобности.
Хабр не панацея, это лишь агрегатор, грубо говоря, причем не самый качественный. Достаточно потратить несколько дней на поиски специализированных ресурсов и потом получать действительно качественный материал, чем довольствоваться репостами и переводами.
var myFnc = test.fnc.bind(test); // bind есть не везде
Когда Вы возвращаете функции как у Вас в коде, то меняется this. Он подставляется динамически при выполнении функции. Нужно в таких случаях явно указать от чьего имени потом выполняется функция