Давайте Вы детально опишите что Вам нужно, без всяких "если", "когда"... Зачем нам втягивать из Вас информацию силой?
Модуль создаёт контент на сайте(feeds из cvs файла).
Нужно заменить некоторые слова или символы на на другие(из списка, он не большоей 21 или 23 слова/символа). Wordfilter не походит, так как работает медленно и редактирует не в самой статье, а только при выводе на экран.
Нужно, что бы редактировал весь контент в БД.
PS Файл содержит форумлы latex. Т.е. нужно будет заменить \sqrt{5} на корень из(5). Также символы типа $%a%$, на курсивную "а"(подобие альфа). Сложных математических формул нет. Была идея обработать сам cvs, но мне нужно будет каждый день это делать - не хочу.
Попросили сделать, я немного шарю, даже на Си пишу - но сам в этом ни бум бум.
Мне, по идее, нужно hook_feeds_presave() использовать?
Не сильно владею английским. Насколько я понял, это функция при записывание данных в БД обрабатывает их?
Мне, по идее, нужно hook_feeds_presave() использовать?
Да
Как это сделать?
И как встроить код?
Я понял, что мне нужно использовать http://www.php.net/manual/ru/function.str-replace.php
Я нашёл готовую функцию написанную на php мне реализацию, и легко могу переделать.
Как мне её встроить?
Прям можно для чайника объяснить и ссылками поделиться. Спасибо.
Либо в template.php, либо в своём модуле переопределяете hook_feeds_presave(), встраиваете свою функцию, чистите кеш и вуаля...
Я открыл в модуле feeds файл feeds.api.php.
Там есть код:
<?php // <-для красоты отображения
function hook_feeds_presave(FeedsSource $source, $entity, $item) {
if ($entity->feeds_item->entity_type == 'node') {
// Skip saving this entity.
$entity->feeds_item->skip = TRUE;
}
}
// для красоты отображения-> ?>
И есть моя функция для замены:
<?php
Вы хотите, чтобы я за Вас написал код?
Во-первых под рукой нет друпала для тестирования.
Во-вторых Ставить, настраивать и смотреть что и где тоже желания особого нет.
Смотрите что передаётся в аргументах hook_feeds_presave(FeedsSource $source, $entity, $item)
$entity - я так полагаю сущность, в которую Вы делаете импорт
$source - думаю, это сам цсв
$item - хз, но думаю это либо строка цсв, либо уже преобразованный массив
Если не знаете пхп, то скорее всего ничего у Вас не получится, лучше нанять специалиста.
А готовое решение за спасибо тут тоже никто писать не станет
Я так и не догнал. Почему сам модуль нельзя модифицировать, то есть вставить мой код, и всё будет верно работать?
По идее, нужно только знать место, где его вставить. Нет?
Ты хочешь платную услугу, получить за бесплатно.
Не пачкай пол своей губой. Заверни в штанину;)
За тебя работу никто делать не будет, максимум укажут направление в котором надо двигаться.
Ты хочешь платную услугу, получить за бесплатно.
Не пачкай пол своей губой. Заверни в штанину;)
За тебя работу никто делать не будет, максимум укажут направление в котором надо двигаться.
И Вам того же с заменой текста)))
Ну раз Вы на Си спец, то и писали бы сайт на Си. В чём проблема то? А то копипастить бездумно чужие куски кода каждый "дурачок" может и потом с этими кусками, как мартышка с очками...
Ребят, на СИ сайты не пишут. Это низкоуровневый язык. Я не говорил, что я спец. Я лишь немного знаю. Просто вы ввели меня в заблуждение.
Я был полностью уверен, что включив/подменив нужный код свой будет работать.
Можно, запросто. Только модуль никогда не обновляйте=) После каждого обновления будете вспоминать и внедрять заново. А отличие в принципе в внедрении кода, как вы говорите от своего модуля в 5 строчках + создание одной папки и двух файлов.
Можно, запросто. Только модуль никогда не обновляйте=) После каждого обновления будете вспоминать и внедрять заново. А отличие в принципе в внедрении кода, как вы говорите от своего модуля в 5 строчках + создание одной папки и двух файлов.
Можно в ЛС к вам за помощью в этом обновиться?
Да не страшно, можно каждый раз вставлять этот код, после обновления.
Блин
открываете вашсайт/sites/all/modules/
тут создаете папку: например feeds_strtr
дальше создаете 2 файла:
1)feeds_strtr.info
Здесь пишите:
name = feeds_strtr
description = My custom feeds manipulations
core = 7.x
dependencies[] = feeds
package = Custom modules
2)feeds_strtr.module
Здесь пишите:
<?php
feeds_strtr_feeds_presave(FeedsSource $source, $entity, $item){
//Тут уже делаете что захотите.
}
//Желательно установить модуль devel. Сможете например написать:
<?php
feeds_strtr_feeds_presave(FeedsSource $source, $entity, $item){
dpm($source); //dpm - команда модуля devel. Она вам покажет в удобночитаемом виде все о $source
dpm($entity);
dpm($item);
}
А в личку писать не стоит. Вам тут уже дали более чем достаточно информации. Просто сидеть и разбираться дальше вам надо. Думать за вас как применить тот или иной хук или функцию php тут не будут. Все есть в документации.
Там полу бред.
Мало того, что сайты пишут на С++(Можно и на С, но с Классами легче), так они еще намного быстрей работают и выдерживают намного больше нагрузку.
Рассказывать как не буду, не писал, но есть знакомые, которые занимаются тестирование такого сайта.
Там полу бред.
Мало того, что сайты пишут на С++(Можно и на С, но с Классами легче), так они еще намного быстрей работают и выдерживают намного больше нагрузку.
Рассказывать как не буду, не писал, но есть знакомые, которые занимаются тестирование такого сайта.
Яндекс?
Обычные сайты на си/с++ не пишут. Прос классы это бред. c++ есть опп, в си нет.
Я тебе вообще говорю. Обычным сайтам конечно не нужно писать на Сях.
"druman" wrote:
Прос классы это бред. c++ есть опп, в си нет.
С++ это расширение С, добавляющий к нему ООП. На С++, можно писать чистый С. А также, код написанный на чистом С, почти спокойно компилируется компилятором С++.
Конечно, не любой код соберется сразу, некоторый надо будет подправлять, но я опять же, про в общем говорю. Или ты опять будешь это оспаривать?
"ХулиGUN" wrote:
Не думаю что с С на С++ так сложно перейти.
С учетом того, что когда учат С++, сначала проходят быстрый курс чистого С, то очень даже легко.
Глупость писать домашнею страницу на сях, конечно глупость, но когда нужно выдерживать огромные нагрузки, то пишут на сях и не только.
Инструмент выбирают под задачу, а не наоборот.
Глупость писать домашнею страницу на сях, конечно глупость, но когда нужно выдерживать огромные нагрузки, то пишут на сях и не только.
Инструмент выбирают под задачу, а не наоборот.
Я заметил, учел, что человек не будет явно себя называть, его сознание не пропустить. Man имеет значение как мужчины, так и человека.
+ учитывалось и поведение человека: Вы первый назвали всех дураками, т.е. лучшая защита нападение, попытка также замаскироваться, чтоб другие первыми не назвали, видимо есть опыт.
Ну и + умственные способности, человек позиционирует, что он пишет на Си, в тоже время не может разобраться в структуре друпала.
Drupal man - Вы просто быть не можете, Вы не понимаете элементарных понятий друпала.
Я заметил, учел, что человек не будет явно себя называть, его сознание не пропустить. Man имеет значение как мужчины, так и человека.
+ учитывалось и поведение человека: Вы первый назвали всех дураками, т.е. лучшая защита нападение, попытка также замаскироваться, чтоб другие первыми не назвали, видимо есть опыт.
Ну и + умственные способности, человек позиционирует, что он пишет на Си, в тоже время не может разобраться в структуре друпала.
Drupal man - Вы просто быть не можете, Вы не понимаете элементарных понятий друпала.
хочешь полегче, чудик?
ты блог свой открой - http://www.drupal.ru/blog/97023
там только "дай" - и ни слова о "делюсь"
а потом сопоставь это с:
"druman" wrote:
Какие-то вы дурачки. Удачи Вам, ребята.
когда тебе вполне вменяемые камрады пытались ответить.
если ты желаешь, чтоб над тобой и дальше глумились - продолжай в том-же духе.
твою учетку дажыж вырезать не будут - смеха ради, хоть это и не педагогично.
определись - что тебе нужно: содействие или троллинг - и действуй соответственно.
хочешь полегче, чудик?
ты блог свой открой - http://www.drupal.ru/blog/97023
там только "дай" - и ни слова о "делюсь"
а потом сопоставь это с:
"druman" wrote:
Какие-то вы дурачки. Удачи Вам, ребята.
когда тебе вполне вменяемые камрады пытались ответить.
если ты желаешь, чтоб над тобой и дальше глумились - продолжай в том-же духе.
твою учетку дажыж вырезать не будут - смеха ради, хоть это и не педагогично.
определись - что тебе нужно: содействие или троллинг - и действуй соответственно.
Комментарии
Strtr
Это вроде функция php. если Вас не затрудник, можете рассказать как её применить в друпал?
https://drupal.org/project/scanner
https://drupal.org/project/sar
так друпал же на php
если заменять на выводе текста - то внутри hook_preprocess
если при вводе - то hook_entity_presave
Она разве работает, когда контент загружается сторонним плагином?
Модуль создаёт контент на сайте(feeds из cvs файла).
Нужно заменить некоторые слова или символы на на другие(из списка, он не большоей 21 или 23 слова/символа). Wordfilter не походит, так как работает медленно и редактирует не в самой статье, а только при выводе на экран.
Нужно, что бы редактировал весь контент в БД.
PS Файл содержит форумлы latex. Т.е. нужно будет заменить \sqrt{5} на корень из(5). Также символы типа $%a%$, на курсивную "а"(подобие альфа). Сложных математических формул нет. Была идея обработать сам cvs, но мне нужно будет каждый день это делать - не хочу.
Попросили сделать, я немного шарю, даже на Си пишу - но сам в этом ни бум бум.
Какая классная документация у друпал.
Сейчас почитаю. спаисбо. Ааааа. Как много английского.
Лондон - это столица Великой Британии. Я не совсем дурак ))
Мне, по идее, нужно hook_feeds_presave() использовать?
Не сильно владею английским. Насколько я понял, это функция при записывание данных в БД обрабатывает их?
Как это сделать?
И как встроить код?
Я понял, что мне нужно использовать
http://www.php.net/manual/ru/function.str-replace.php
Я нашёл готовую функцию написанную на php мне реализацию, и легко могу переделать.
Как мне её встроить?
Прям можно для чайника объяснить и ссылками поделиться. Спасибо.
Я открыл в модуле feeds файл feeds.api.php.
Там есть код:
<?php // <-для красоты отображения
function hook_feeds_presave(FeedsSource $source, $entity, $item) {
if ($entity->feeds_item->entity_type == 'node') {
// Skip saving this entity.
$entity->feeds_item->skip = TRUE;
}
}
// для красоты отображения-> ?>
И есть моя функция для замены:
<?php
function LaTexFormat($str)
{
$tr = array(
"\sqrt"=>"корень",
);
return strtr($str,$tr);
}
?>
И как мне их совместить?
Вы ввели меня в заблуждение.
Я думал можно вставить нужный код свой, прицепить функцию и чудо. Какая у вас хорошая скрытая реклама.
Так и не понял, чем вам не подошел https://drupal.org/project/scanner
Сначала импортировать ваш контент, потом прогнать этим модулем - и всё.
Я так и не догнал. Почему сам модуль нельзя модифицировать, то есть вставить мой код, и всё будет верно работать?
По идее, нужно только знать место, где его вставить. Нет?
Ты хочешь платную услугу, получить за бесплатно.
Не пачкай пол своей губой. Заверни в штанину;)
За тебя работу никто делать не будет, максимум укажут направление в котором надо двигаться.
Какие-то вы дурачки. Удачи Вам, ребята.
Можно на основе существующего модуля создать свой с др названием, это имеет знач при дальнейшем обслуживании/поддержке сайта.
Ребят, на СИ сайты не пишут. Это низкоуровневый язык. Я не говорил, что я спец. Я лишь немного знаю. Просто вы ввели меня в заблуждение.
Я был полностью уверен, что включив/подменив нужный код свой будет работать.
1. Там c++.
2. Уверен нах?
не нужно людей вводить в заблуждение
каких еще методов друпала ? в template.php описываются только альтер хуки, препроцессы-процессы и функции темизации
а в данном случае нужно писать модуль и там имплементировать hook_feeds_presave
}
и потом любым способом дебажить вызов хука, определяя какие данные прилетают в аргументы при вызове функции
Т.е. просто внедрить свой код нельзя, верно?
На С можно сайт сделать, даже интересно http://www.i-visionblog.com/2014/02/creating-website-using-c-programming...
Можно, запросто. Только модуль никогда не обновляйте=) После каждого обновления будете вспоминать и внедрять заново. А отличие в принципе в внедрении кода, как вы говорите от своего модуля в 5 строчках + создание одной папки и двух файлов.
Можно в ЛС к вам за помощью в этом обновиться?
Да не страшно, можно каждый раз вставлять этот код, после обновления.
Блин
открываете вашсайт/sites/all/modules/
тут создаете папку: например feeds_strtr
дальше создаете 2 файла:
1)feeds_strtr.info
Здесь пишите:
name = feeds_strtr
description = My custom feeds manipulations
core = 7.x
dependencies[] = feeds
package = Custom modules
2)feeds_strtr.module
Здесь пишите:
<?php
feeds_strtr_feeds_presave(FeedsSource $source, $entity, $item){
//Тут уже делаете что захотите.
}
//Желательно установить модуль devel. Сможете например написать:
<?php
feeds_strtr_feeds_presave(FeedsSource $source, $entity, $item){
dpm($source); //dpm - команда модуля devel. Она вам покажет в удобночитаемом виде все о $source
dpm($entity);
dpm($item);
}
А в личку писать не стоит. Вам тут уже дали более чем достаточно информации. Просто сидеть и разбираться дальше вам надо. Думать за вас как применить тот или иной хук или функцию php тут не будут. Все есть в документации.
Там полу бред.
Мало того, что сайты пишут на С++(Можно и на С, но с Классами легче), так они еще намного быстрей работают и выдерживают намного больше нагрузку.
Рассказывать как не буду, не писал, но есть знакомые, которые занимаются тестирование такого сайта.
Яндекс?
Обычные сайты на си/с++ не пишут. Прос классы это бред. c++ есть опп, в си нет.
Блин.
Как до Вас донести.
Писать сайт,Ю на том же c++ - это глупость.
Я тебе вообще говорю. Обычным сайтам конечно не нужно писать на Сях.
С++ это расширение С, добавляющий к нему ООП. На С++, можно писать чистый С. А также, код написанный на чистом С, почти спокойно компилируется компилятором С++.
Конечно, не любой код соберется сразу, некоторый надо будет подправлять, но я опять же, про в общем говорю. Или ты опять будешь это оспаривать?
С учетом того, что когда учат С++, сначала проходят быстрый курс чистого С, то очень даже легко.
Ясно.
Глупость писать домашнею страницу на сях, конечно глупость, но когда нужно выдерживать огромные нагрузки, то пишут на сях и не только.
Инструмент выбирают под задачу, а не наоборот.
По Вашему, мне для моей задачи нужен Си?
Ты оспорил, то что на сях не пишут. Я ответил. А ты пиши хоть на ассемблере. Мне без разницы.
Сделал интересное наблюдение-часто ники соответствуют характеру:
druman - дур мэн - дурной человек
ХулиGUN - любит хулиганить
iHappy - я один счастливый, остальные не интересны
Вы бы не позорились и не показывали свою невнимательность.
Дурной человек - durnoy chelovek или хотя бы - durnoy human.
Мой ник: druman, что является сокращением от Drupal Human (человек Друпал)- > DruMan
Я заметил, учел, что человек не будет явно себя называть, его сознание не пропустить. Man имеет значение как мужчины, так и человека.
+ учитывалось и поведение человека: Вы первый назвали всех дураками, т.е. лучшая защита нападение, попытка также замаскироваться, чтоб другие первыми не назвали, видимо есть опыт.
Ну и + умственные способности, человек позиционирует, что он пишет на Си, в тоже время не может разобраться в структуре друпала.
Drupal man - Вы просто быть не можете, Вы не понимаете элементарных понятий друпала.
Вот ты клоун.
на машинном языке ))
Очень близко;)
Дурман.
А на манеже - все теже,
выкупили очередного бесенка и гоняют его по сцене)
соскучились по инзам?
Воу-воу, чувак, полегче
хочешь полегче, чудик?
ты блог свой открой - http://www.drupal.ru/blog/97023
там только "дай" - и ни слова о "делюсь"
а потом сопоставь это с:
когда тебе вполне вменяемые камрады пытались ответить.
если ты желаешь, чтоб над тобой и дальше глумились - продолжай в том-же духе.
твою учетку дажыж вырезать не будут - смеха ради, хоть это и не педагогично.
определись - что тебе нужно: содействие или троллинг - и действуй соответственно.
Ок.
Ну собственно содействие здесь не очень.