Евгений
так, дошли руки до сео в проекте, еще раз спрошу. Есть несколько схожих моделей, новости, статьи, опросы. Нужно им Тайтл, Дескрипшен, Ключевые слова. Делать в каждой таблице, или сделать полиморфную связь и вынести в отдельную таблицу все сеошные данные?
Евгений
в прошлый раз мне посоветовали в каждой таблице делать
Евгений
но мне как то лень везде делать, если можно в одном месте
Евгений
и логику записи/перезаписи легче потом поменять в одном месте
Dmitry
ребзи, кто чем pdf генерит в ларе?
Евгений
чтобы меньше сущностей плодить, меньше кода писать, легче вводить новые сущности
Михаил
А какую логику записи/перезаписи ты будешь делать?
Михаил
Просто положить строчку в базу/достать ее оттуда?
Евгений
проверить есть ли уже там запись. Но если в одной таблице с моделью делать то этого не понадобится
Михаил
Ну вот видишь. Еще что-то?
Евгений
все остальное
Евгений
мне легче сделать 1 раз чем несколько
Евгений
один джоин не навредит
Михаил
Не, если бы ты руками делал, это был бы аргумент
Михаил
Но так-то логика работы с базой все равно на фреймворке лежит
Михаил
И в итоге какая разница - залезть тебе в каждую модель, чтобы указать там связь с внешней сущностью, или залезть в каждую модель, чтобы пару сео-полей добавить?
Михаил
Вот если тебе бы пришлось в каждой модели кастомный геттер/сеттер писать, тогда да
Евгений
тоже верно
Евгений
ладно, сделаю в моделях))
Михаил
И я как раз об этом спрашиваю - у тебя есть такая логика при записи/чтении, для которой нужно будет плодить эти функции?
Евгений
нет
Михаил
Если нет, то нет смыла париться
✙ Myroslav
Ребят а что посоветуете почитать по юнит тестах кроме официальной документации? :)
Dmitry
пробую его сейчас как раз прикрепить
Михаил
И то мне кажется, что эту логику можно реализовать в одном месте через какую-нибудь объектно-ориентированную приблуду, унаследоваться от какого-нибудь промежуточного класса, может, где эти методы будут прописаны.
Dmitry
dompdf плохо css воспринимает
Dmitry
он и был на проекте, пытаюсь замену найти
Zlatoslav
Stanislav
mpdf
Dmitry
оно еще ругалось на PDF::setOption, незнакомый метод и вообще выравнивания не работали
Zlatoslav
Stanislav
юзай css2 для печати )
Zlatoslav
Zlatoslav
(;¬_¬)
Так себе затея CSS3
я чо, я dompdf открыл и смотрю что там пишут, что он поддерживает css 2.1 и чутка css3 потому и предположил что в этом проблема у человека с css
Zlatoslav
Печатать обычно приходится таблицы всякие, бланки (в моём случае — страховые)
Zlatoslav
Даже flex в некоторых местах и всё ок.
Zlatoslav
Правда верстал в милиметрах :D
Dmitry
попробую обновиться
✙ Myroslav
wkhtmltopdf тащит, если тебе нужны пипец крутые документы, например красивые инвойсы. Но его тяжело поддерживать.. tcpdf вроде как уже давно никто не фиксил, но для простых целей сойдёт
✙ Myroslav
Еще неплохой вариант это сверстать страницу и открывать Ctrl + P пусть сами или на печать отправляют или сохраняют как пдф
✙ Myroslav
✙ Myroslav
в tcpdf нравилось то что там Helvetica с коробки есть и документы прикольно генерировались
Zlatoslav
Anonymous
Я за рендер pdf через phantomjs
Arthur'); DROP TABLE Users;--
#telegram
интересно, не знаете как у chatfuel подменю реализуются?
Arthur'); DROP TABLE Users;--
если записывать в базу последнее местонахождение пользователя (главное меню, настройки, смена имени)
Arthur'); DROP TABLE Users;--
if last == settings and message == back then show main menu
Arthur'); DROP TABLE Users;--
if last == change name and message == back then show settings menu
Arthur'); DROP TABLE Users;--
никак не приходит в голову как сделать подъем на уровень выше, а не сразу в меню главное. ведь на вебхуке одинаковые сообщения приходят ("назад" и "назад")
🐴
а я mPDF заюзал и доволен
🐴
я и так выделяюсь
Anonymous
🐴
да
🐴
я яркое пятно на фоне серости и уныния
🐴
скажи наркотикам иногда
Артем
Это конфа про аниме?
Anonymous
Sergey 𝗨𝗻𝗤𝘂𝗮𝗶𝘇
так, дошли руки до сео в проекте, еще раз спрошу. Есть несколько схожих моделей, новости, статьи, опросы. Нужно им Тайтл, Дескрипшен, Ключевые слова. Делать в каждой таблице, или сделать полиморфную связь и вынести в отдельную таблицу все сеошные данные?
если у тебя только тайтл, дескрипшен и ключевики - то незачем сущности плодить - делай в таблицах. выноси код в трейт, и цепляй его к моделям которые имеют seo поля. а вот если у тебя целая куча SEO параметров - canonical url, различные мета поля, или twitter|opengraph - то без отдельной сущности не обойтись. ну и наследование сео информации для сущностей сделать кроме как по классу - нельзя. я завел отдельную таблицу, и у меня сео данные могу привязываться к маршруту, сущности какой либо, или конкретному URL. имеют наследование, т.к. маршруты имеют вложенность в чпу - соответственно ключевики, описания и тайтлы будут отличаться. Если нет для маршрута своих сео данных - берет у родителя.
Sergey 𝗨𝗻𝗤𝘂𝗮𝗶𝘇
ещё кстати в целях SEO на разных страницах пишется небольшой "сео-текст". который не является описанием конкретной сущности. его ты где будешь хранить ?
Sergey 𝗨𝗻𝗤𝘂𝗮𝗶𝘇
не в шаблоне же?
Евгений
Такого текста нет по тз
Евгений
Ну на главной только
Евгений
Будет страница настроек в админке, там будет текст вводиться
Евгений
Кстати я трейты не юзаю как то😬
Евгений
Где хранят трейты в ларе?
Евгений
Попробую трейты повыносить
Sergey 𝗨𝗻𝗤𝘂𝗮𝗶𝘇
это в том случае если тебе нужны методы для доступа к SEO. если у тебя в полях будет готовый текст лежать - то трейты не нужны
Евгений
То есть смело создавать App/Traits модно и туда складывать